Хотите применить это к crontab:

crontab -l > nopass
echo 'ALERT - Found a user without password on:' `hostname` `date` | cat /etc/shadow | awk -F: '($2==""){print $1}' | mail -s "Alert: Found a user without password on `hostname` `who | awk '{print $6}'`" $ADMIN_MAIL >> nopass
crontab nopass
rm nopass

Но эта длинная очередь не применяется. Это потому, что структура строки неправильная или потому что crontab имеет какое-то ограничение в символах? Может быть, есть более удобный способ сделать то, что я хочу?

1 ответ1

1

Есть по крайней мере одна проблема с вашей «длинной линией»:

echo 'ALERT - Found a user without password on:' `hostname` `date` | cat /etc/shadow

Вывод команды echo будет потерян.

Ваш код действительно выиграл бы от разбиения вещей на несколько отдельных операторов / строк.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .