bash脚本将字符串视为命令

时间:2011-12-09 09:56:56

标签: linux bash shell centos

我对bash脚本有一个noobish问题。 它将字符串视为命令。

脚本

 #!/bin/bash
 if ["$(pidof whatever)"]
 then
  echo "suicide"
 fi
 exit 0

我在运行时遇到的错误是“找不到[29999]命令”。

Ty为你提供帮助和时间。

4 个答案:

答案 0 :(得分:4)

您需要[$之间的空格。 [是测试命令。

 #!/bin/bash
 if [ $(pidof whatever) ]
 then
  echo "suicide"
 fi
 exit 0

答案 1 :(得分:3)

[是一个命令。就像任何其他命令一样,bash期望命令后跟一个空格,然后是第一个参数,然后是另一个空格,等等。这是正确的方法:

if [ "$(pidof whatever)" ]; then ...

答案 2 :(得分:2)

问题似乎是测试操作员之间缺乏空间。试试:

 #!/bin/bash
 if [ "$(pidof whatever)" ]
 then
  echo "suicide"
 fi
 exit 0

希望这有帮助!

答案 3 :(得分:1)

[和]之间需要空格 例如

if [ $(pidof whatever) ]

if [ "$(pidof whatever)" ]