При администрировании часто возникают задачи, которые могут быть решены универсальными скриптами. Я собираюсь в отпуск и хочу оставить вместо себя с десяток скриптов которые помогут мне спокойно отдохнуть. Помогите разобраться с ситуацией.
В /etc/default лежит файл saslauthd, формат
# This needs to be uncommented before saslauthd will be run automatically
# START=yes
# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"
MECHANISMS="pam"
его надо превратить в
# This needs to be uncommented before saslauthd will be run automatically
START=yes
PARAMS="-m /var/spool/postfix/var/run/saslauthd -r"
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"
# You must specify the authentication mechanisms you wish to use.
# This defaults to "pam" for PAM support, but may also include
# "shadow" or "sasldb", like this:
# MECHANISMS="pam shadow"
MECHANISMS="pam"
Это довольно просто решается
sed -i '/START/s/^.*/START=yes/' ./saslauthd
sed -i '/START/ a\\nPARAMS="-m /var/spool/postfix/var/run/saslauthd -r" \
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"\n' ./saslauthd
Но надо засраховаться и от того что кто то запустит этот скрипт, дважды. Вопрос такой как проверить есть ли такой параметр, если есть заменить его значение, если нет то вставить.