Может быть основной вопрос, но я не знаю, почему каротаж может вызвать эту функцию выхода, чтобы не работать, как ожидалось:Почему этот скрипт bash не выходит?
#!/bin/bash
function exitFunct
{
exit 1
}
exitFunct 2>&1 | tee -a /var/tmp/output.txt
echo "You should never see this"
Но выход «Вы никогда не должны видеть это»
Это означает, что 'exit' в функции выходит из порожденной конвейером суб-оболочки, а не родительской оболочки. (Просто для того, чтобы сделать это ясно.) –
@wizurd: Если вы не хотите, чтобы 'grep' заканчивал скрипт, обрабатывайте его в or:' grep ... || echo Ничего не найдено' – choroba