grep stderr 和上一个命令的 stdout
grep stderr and stdout of previous command
在 bash 脚本中,如果在消息
中找到字符串,我需要检查命令 1 和 运行 命令 2 的 stderr 和 stdout 消息
类似于:
command 1
if [ $? != 0 ] and grep stderr and stdout of command 1 and if it contains hello world; then run
command 2
fi
将 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
在 bash 脚本中,如果在消息
中找到字符串,我需要检查命令 1 和 运行 命令 2 的 stderr 和 stdout 消息类似于:
command 1
if [ $? != 0 ] and grep stderr and stdout of command 1 and if it contains hello world; then run
command 2
fi
将 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