Linux 为什么使用此命令';Sh和Bash之间的输出是否不同?
我试图在Bash中运行以下if语句(以确定Xorg是否正在运行): 当我在Bash下运行它时,它不会打印任何内容。然而,如果我在sh下运行它,它会给我一个“Yes”和其他与xset相关的输出Linux 为什么使用此命令';Sh和Bash之间的输出是否不同?,linux,bash,shell,sh,xorg,Linux,Bash,Shell,Sh,Xorg,我试图在Bash中运行以下if语句(以确定Xorg是否正在运行): 当我在Bash下运行它时,它不会打印任何内容。然而,如果我在sh下运行它,它会给我一个“Yes”和其他与xset相关的输出 if语句的输出在这两者之间怎么可能不同呢?有没有办法在Sh上修复它?&在Sh中不是有效的重定向。&将命令xset q发送到后台使用if!xset q>/dev/null 2>&1;然后是回声“测试”;fi如果需要,请尝试!xset q>/dev/null 2>&1;然后回应是;fi。我不相信sh支持&>快捷
if语句的输出在这两者之间怎么可能不同呢?有没有办法在Sh上修复它?
&
在Sh中不是有效的重定向。&
将命令xset q
发送到后台使用if!xset q>/dev/null 2>&1;然后是回声“测试”;fi代码>如果需要,请尝试!xset q>/dev/null 2>&1;然后回应是;fi
。我不相信sh
支持&>
快捷方式。
if ! xset q &>/dev/null; then echo Yes; fi