Синтаксис
var = value cmd ar1
не совсем работает, если cmd
является циклом for (ни в одном bash
или sh
).
И sh
, и bash
дают синтаксические ошибки для:
foo=bar for f in ${foo:-BAR}; do echo $f; done
, что вы, по сути, делаете.
(
)
И эта ошибка, похоже, приводит к тому, что не может найти fi
ошибка в вашем случае;
Установка переменной в отдельной строке устраняет синтаксическую ошибку:
kernlist=$(awk '$1 == "config" { print $2 }' ${kernelconfpath})
for kern in ${kernlist:-netbsd}; do #...
Примечание:
Я бы просто написал «$ kernelbuildpath / $ kern»
вместо of "$ {kernelbuildpath} / $ {kern}"
на вашем месте. Никаких технических причин для завитков нет.
Отредактируйте /etc/pam.d/crond
, чтобы изменить строку:
account required pam_access.so
с по:
account sufficient pam_access.so
Задания Cron теперь будут работать для просроченных учетных записей пользователей