我们使用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