我对bash脚本有一个noobish问题。 它将字符串视为命令。
脚本
#!/bin/bash
if ["$(pidof whatever)"]
then
echo "suicide"
fi
exit 0
我在运行时遇到的错误是“找不到[29999]命令”。
Ty为你提供帮助和时间。
答案 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)" ]