当前位置: 技术问答>linux和unix
一条shell命令的疑问!
来源: 互联网 发布时间:2015-03-05
本文导语: rt,我在学习shell命令的过程中碰到一条语句如下: cat NoSuchFile 2>&1 | wc -l 这里的“2”应该是标准错误文件,“&”使这条命令后台执行,但就是不知道“&”后面的“1”是起什么作用的?请各位大侠解答!谢谢! ...
rt,我在学习shell命令的过程中碰到一条语句如下:
cat NoSuchFile 2>&1 | wc -l
这里的“2”应该是标准错误文件,“&”使这条命令后台执行,但就是不知道“&”后面的“1”是起什么作用的?请各位大侠解答!谢谢!
cat NoSuchFile 2>&1 | wc -l
这里的“2”应该是标准错误文件,“&”使这条命令后台执行,但就是不知道“&”后面的“1”是起什么作用的?请各位大侠解答!谢谢!
|
1代表标准输出
cat NoSuchFile > foo # 把标准输出重定向到文件
cat NoSuchFile 1> foo # 把标准输出重定向到文件,和上面那个一样
cat NoSuchFile 2> foo # 把标准错误重定向到文件
cat NoSuchFile | wc -l # 把cat的标准输出重定向到wc的标准输入
cat NoSuchFile 2>&1 | wc -l # 把cat的标准输出和标准错误一起重定向到wc的标准输入
这是说把
cat NoSuchFile > foo # 把标准输出重定向到文件
cat NoSuchFile 1> foo # 把标准输出重定向到文件,和上面那个一样
cat NoSuchFile 2> foo # 把标准错误重定向到文件
cat NoSuchFile | wc -l # 把cat的标准输出重定向到wc的标准输入
cat NoSuchFile 2>&1 | wc -l # 把cat的标准输出和标准错误一起重定向到wc的标准输入
这是说把
|
2>&1 的意思是将错误输出重定向到标准输出里面去
& 符号在不同的地方表示的是不同的东西,这里不是后台执行的意思。
这样才是:
./yourcmd &
nohup ./yourcmd &
& 符号在不同的地方表示的是不同的东西,这里不是后台执行的意思。
这样才是:
./yourcmd &
nohup ./yourcmd &