当前位置: 技术问答>linux和unix
关于重定向的问题,请各位看看!!
来源: 互联网 发布时间:2015-12-17
本文导语: 如果重定向失败产生的错误消息还能重定向到/dev/null吗?也就是让重定向失败的消息不显示,能做到吗? ps -e>AllProcess.txt >/dev/null 2>&1 如上,我把ps的结果重定向到AllProcess.txt这个文件中去,但是我设置了AllProcess.txt文件为...
如果重定向失败产生的错误消息还能重定向到/dev/null吗?也就是让重定向失败的消息不显示,能做到吗?
ps -e>AllProcess.txt >/dev/null 2>&1
如上,我把ps的结果重定向到AllProcess.txt这个文件中去,但是我设置了AllProcess.txt文件为只读,那么重定向会失败,会打印出错消息,我想把这个出错消息再次重定向到/dev/null,不让它显示出来,可是这样不行,请问各位该怎么做?
|
(list) list is executed in a subshell. Variable assignments and
builtin commands that affect the shell's environment do not
remain in effect after the command completes. The return sta-
tus is the exit status of list.
加括号就是运行subshell, 两种方法是一样的。
builtin commands that affect the shell's environment do not
remain in effect after the command completes. The return sta-
tus is the exit status of list.
加括号就是运行subshell, 两种方法是一样的。
|
º£Ñó˵·´ÁË¡£ÊÇÖض¨Ïòʧ°Ü¶ø²»ÊÇpsÃüÁîʧ°Ü¡£Öض¨Ïòʧ°ÜÊÇÓɵ±Ç°shell½ø³ÌhandleµÄ£¬Ó뵱ǰÃüÁîÎ޹أ¬ËùÒÔÄãÈçºÎÖض¨Ïòµ±Ç°ÃüÁîµÄstderrҲûÓ㬳ý·ÇÄãÖض¨Ïòµ±Ç°shellµÄstderr¡£
ÓÐÒ»¸ö°ì·¨¾ÍÊÇrun shell script.°Ñ¡°ps -e>AllProcess.txt¡°Ð´µ½Ò»¸ö½Å±¾b.shÀȻºó£º
# sh b.sh 2>/dev/null
ÓÐÒ»¸ö°ì·¨¾ÍÊÇrun shell script.°Ñ¡°ps -e>AllProcess.txt¡°Ð´µ½Ò»¸ö½Å±¾b.shÀȻºó£º
# sh b.sh 2>/dev/null
|
怎么是乱码?
海洋说反了。是重定向失败而不是ps命令失败。重定向失败是由当前shell进程handle的,与当前命令无关,所以你如何重定向当前命令的stderr也没用,除非你重定向当前shell的stderr。
有一个办法就是run shell script. 把“ps -e>AllProcess.txt“写到一个脚本b.sh里,然后:
# sh b.sh 2>/dev/null
海洋说反了。是重定向失败而不是ps命令失败。重定向失败是由当前shell进程handle的,与当前命令无关,所以你如何重定向当前命令的stderr也没用,除非你重定向当前shell的stderr。
有一个办法就是run shell script. 把“ps -e>AllProcess.txt“写到一个脚本b.sh里,然后:
# sh b.sh 2>/dev/null
|
加括号应该可以
(ps -e>AllProcess.txt)>/dev/null 2>&1
(ps -e>AllProcess.txt)>/dev/null 2>&1