Сценарий не работает! Также как прикрепить метку времени по почте?

Первое, что я вижу, это то, что в вашем скрипте есть несколько опечаток со словом "thirsty", что мешает ему работать должным образом. Найдите и замените слово "thisrty" на правильное слово " thirsty ".


Кроме того, я не уверен, что вы хотите добавить что-то в свой код позже, но сейчас вы можете просто заменить while на бесконечный цикл и удалить" if ", следует сразу после этого, потому что значение переменной "thirsty" больше никогда не изменится, например:

#asking the user if they are "thirsty". 
echo "Are you thirsty?"
#creating thirsty variable
read thirsty
#if user answers 'no'/'No'/'NO'/'n'/'N'.
if [ "$thirsty" == "no" ] || [ "$thirsty" == "No" ] || [ "$thirsty" == "N" ] || [ "$thirsty" == "n" ] || [ "$thirsty" == "NO" ]; then
    echo "Okay, thank you for coming. Have a nice day."
    exit
fi

while [ 1 ]; do
    echo "Okay, what would you like to drink?"
    echo "We have: water, beer, wine, and anything else you can think of."
    read drink
    if [ "$drink" == "water" ]; then
        echo "Clear crisp and refreshing"
    elif [ "$drink" == "beer" ]; then
        echo "Let me see some ID"
    elif [ "$drink" == "wine" ]; then
        echo "One box or two?"
    else 
        echo "Coming right up..."
    fi
done
-1
22.01.2016, 15:18
2 ответа

1) Ошибка говорит сама за себя: ваш скрипт не может найти двоичный файл mail . Либо он не установлен, либо его нет в вашем $ PATH, и поэтому вы должны вызвать его, указав полный путь (например, / usr / bin / mail ).

2) Вам не нужно вручную прикреплять временную метку к полезной нагрузке, передаваемой на mail , поскольку сообщения электронной почты уже имеют метку времени в заголовке Date: :

Date: Fri, 22 Jan 2016 06:30:10 -0800

Просто убедитесь, что отправляющий сервер синхронизирован по времени (например, через NTP), и все будет в порядке.

1
28.01.2020, 05:08

Вам нужно будет указать абсолютные пути в вашем скрипте cron может запустить ваш скрипт где-нибудь еще, а не в вашем $ HOME .

Вероятно, у вас не установлена ​​почтенная программа mail (1) . И если у вас есть, для здравомыслия также укажите полные пути ко всем исполняемым файлам, запускаемым вашим скриптом.

В общем, для любого сценария, который запускается с дополнительными привилегиями (от имени другого пользователя, запускается автоматически), использование абсолютных путей представляет собой небольшую дополнительную работу, явно установите PATH или запускать исполняемые файлы по полному пути. Таким образом вы защититесь от запуска в каком-то странном каталоге или от выбора неправильного (даже вредоносного) исполняемого файла и сэкономите много времени.

2
28.01.2020, 05:08

Теги

Похожие вопросы