Я пытаюсь создать команду, которая позволит мне проверять сайты на наличие определенных слов. Я использовал \ в конце строки, чтобы обернуть его к следующему (не уверен, правильно ли я использовал их здесь), этих символов нет в моем сценарии.
check=$(lynx -source $1 | grep -i $2)
if [[ $check == *"$2"* ]]
then
/usr/local/bin/sendemail -o tls=yes -f ***@gmail.com -t\
trigger@recipe.ifttt.com -s smtp.gmail.com:587 -xu ***@gmail.com -xp *** -u\
$1 -m "contains the word " $2 ".";
else
/usr/local/bin/sendemail -o tls=yes -f ***@gmail.com -t\
trigger@recipe.ifttt.com -s smtp.gmail.com:587 -xu ***@gmail.com -xp *** -u\
$1 -m "does not contain the word " $2 ".";
fi
bash
shell
bash-scripting
TYPKRFT
источник
источник
Если заявление не оценивается, как ожидалось.
Проверка вашего скрипта с ShellCheck (находит ошибки в ваших сценариях оболочки.) дает следующие рекомендации:
Смотрите следующие ссылки для объяснения предложений:
источник