为什么Sh和Bash之间的命令输出不同?
问题描述:
我试图运行下面若击声明(以确定是否Xorg的运行与否):为什么Sh和Bash之间的命令输出不同?
if ! xset q &>/dev/null; then echo Yes; fi
当我击下运行它打印什么。但是,如果我在sh下运行它,它会给我一个“是”和其他与xset相关的输出。
if语句输出在两者之间可能有什么不同?有没有办法在Sh上修复它?
答
&>
在sh中不是有效的重定向。 &
发送命令xset q
到后台使用if ! xset q >/dev/null 2>&1;then echo 'test'; fi;
尝试'if! xset q>/dev/null 2> &1 ;然后回显是; fi'。我不相信'sh'支持'&gt'快捷键。 – shellter