临时重定向
如果想要故意在脚本中生成错误消息,可以将单个输出行重定向到STDEER,需要做的只是使用输出重定向到STDEER文件描述符时,必须在文件描述符前面加上&号
echo "This is an error message" >&2
该行在脚本的STDEER文件描述指向的地方而不是普通的STDOUT上显示以上文本,
范例,文件名为: sh10.sh
#!/bin/bash # testing STDERR message echo "This is an error" >&2 echo "This is normal output"
如果像往常一样运行脚本,并没有什么不同 sh sh10.sh
输出为:
This is an error
This is normal output
记住,默认情况下,Linux将STDOUT输出重定向到STDOUT,但是如果运行脚本时重定向STDERR,任何使用脚本定向到STDERR的文本将被重定向:
运行 sh sh10.sh 2> test
这时就只输出
This is normal output
然后查看test里面的内容 cat test
输出:
This is an error