如何编写一个简单的shell脚本来检查是否有人使用display :0
?这不起作用:sh shell code - 检索命令结果
if [ 'who | grep " :0 "' != "" ]
then
echo "hi"
fi
如何编写一个简单的shell脚本来检查是否有人使用display :0
?这不起作用:sh shell code - 检索命令结果
if [ 'who | grep " :0 "' != "" ]
then
echo "hi"
fi
#!/bin/sh
R=$(who | grep " :0 ")
echo $R
if [ "$R" != "" ]; then
echo "hi"
fi
这也应该工作。什么问题(或者你只是回答你自己的问题)? – 2010-05-26 14:42:15
我在回答我自己的问题=] – 2010-05-26 15:22:02
if who | grep " :0 "
then
echo "hi"
fi
注意,谁是不同版本的谁不同的输出。对于GNU的coreutils 7.4版本,你需要谁的grep“(0”的代替grep的“0”
一些其他的答案的工作,但没有需要捕捉的输出grep的(使用$()或backtics)用于字符串比较,因为grep的的退出状态指示成功或失败所以,你可以将其降低到这一点:
if who | grep -q ' :0 '; then
echo hi
fi
或者更简单:
who | grep -q ' :0 ' && echo hi
注:
“如果”上的命令或命令的流水线操作。
左方括号实际上是一个命令,'test'的另一个名称。
q选项会抑制grep的输出(在大多数版本中)。
而不是调用who,grep和test,你可以调用who和grep。
作为另一个回答指出,你可能需要grep除了':0'之外的东西取决于你的系统。
什么问题?什么是处理器拱?什么是操作系统? – 2010-05-26 13:40:55
@Moron:这是一个sh(bash?)脚本,所以操作系统是unix。 – 2010-05-26 13:59:41
@BlueRaja:标题说的是ShellCode,我推测它是程序集操作码字节,所以确切的操作系统和处理器体系结构很重要。我明白了,标题现在已经被编辑过了。 – 2010-05-26 14:20:59