BASH-进程状态
我想知道为什么这不管用BASH-进程状态,bash,Bash,我想知道为什么这不管用 $result=`[ pgrep -x "gedit" ] && echo "Running" || echo "Stopped" ` 我得到: -bash:[:-x:应为二进制运算符 如果我运行pgrep-x“gedit”direct,我将获得进程ID 有人能告诉我为什么失败吗? 谢谢您不需要括号来运行和检查pgrep的退出状态: result=$(pgrep -x "gedit" > /dev/null && echo "Run
$result=`[ pgrep -x "gedit" ] && echo "Running" || echo "Stopped" `
我得到:
-bash:[:-x:应为二进制运算符
如果我运行pgrep-x“gedit”
direct,我将获得进程ID
有人能告诉我为什么失败吗?
谢谢您不需要括号来运行和检查
pgrep的退出状态
:
result=$(pgrep -x "gedit" > /dev/null && echo "Running" || echo "Stopped")
运行和检查
pgrep的退出状态不需要括号:
result=$(pgrep -x "gedit" > /dev/null && echo "Running" || echo "Stopped")
您可以使用以下代码来解决问题:
#!/bin/bash
result=\`pgrep -x gedit && echo running || echo not\`
echo $result
您可以使用以下代码来解决问题:
#!/bin/bash
result=\`pgrep -x gedit && echo running || echo not\`
echo $result
您想做什么?您是否知道[]
是test
命令的同义词?如果是,为什么要在测试块内执行pgrep-x“gedit”
?您想做什么?您是否知道[]
是test
命令的同义词?如果是,为什么要在测试块内执行pgrep-x“gedit”
?