Перенаправить вывод команды command1 в файл, а затем с помощью grep проверить, содержит ли файл строку «hello world»
command1 > /tmp/stdout.$$ 2>/tmp/stderr.$$
if [ $? -ne 0 ] && grep 'hello world' /tmp/stdout.$$ /tmp/stderr; then
command2;
fi
Вы также можете объединить в один файл, используя синтаксис «2> & 1» (перенаправить дескриптор файла 2 (stderr) в дескриптор файла 1 (stdout).
command1 > /tmp/stdout-stderr.$$ 2>&1
if [ $? -ne 0 ] && grep 'hello world' /tmp/stdout-stderr.$$; then
command2;
fi