Linux中的 gt;⼀dev⼀null 2>amp;1 是什么意思

2025-03-23 23:17:29
推荐回答(1个)
回答1:

bash环境作了如下实验: [root@s253 ~]# balabala -bash: balabala: command not found [root@s253 ~]# balabala &> /dev/null [root@s253 ~]# balabala >/dev/null 2>&1 [root@s253 ~]# balabala > /dev/null 2>&1 [root@s253 ~]# 两条命令等价。 网友给出ksh和bash对比 /home/lee#echo $0 -ksh /home/lee#ls abc >/dev/null 2>&1 /home/lee#ls abc &>/dev/null ls: abc: 没有那个文件或目录 [1] 1524 [1] Done (1) ls --color=tty abc /home/lee#bash /home/lee#echo $0 bash /home/lee#ls abc >/dev/null 2>&1 /home/lee#ls abc &>/dev/null 显然在ksh就不一样了,所以推荐使用>/dev/null 2>&1 27 后记: 2>&1 和 &> 的解释 Linux的IO输入输出有三类 Standard Input 代码 0 Standard Output 代码 1 Standard Error 代码 2 ls thereisno 1> out.txt 标准输出重定向 也可以不加1写成 ls thereisno > out.txt ls thereisno 2> out.txt 标准错误重定向 ls thereisno > out.txt 2>&1 把错误定向到标准输出,然后统一重定向 ls thereisno &> out.txt 所有IO重定向(&>中的&可以代表任意,0,1,2,3……)