Linux下Shell脚本异常怎么能不打印日志到终端


我们使用shell脚本,不可避免有些命令可能会自然的报错,正常的shell脚本报错会正常打印到终端的,如果不想要这些日志打印到终端,查了很多资料,常见的处理办法有两种:

1-将日志输出转移到指定文件中(如:垃圾回收站=/dev/null):

./test2.sh >/dev/null 2>&1

备注:

/dev/null    :     可以理解为linux下的回收站;

>                :   把标准输出进行重定向;

2>&1         :   是把出错输出也重定向输出;

2>&1命令解释:

1 表示stdout标准输出,系统默认值是1
2 表示stderr标准错误
& 表示等同于的意思,2>&1,表示2的输出重定向等同于标准输出1

2-将日志内容收集到参数变量中:

content=$(cat xxx.txt 2>&1)
echo $content