bash 脚本将字符串视为命令

发布于 2024-12-20 04:05:02 字数 201 浏览 0 评论 0原文

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

脚本是

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

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

感谢您的帮助和时间。

I have a noobish problem with a bash script.
It treats a string as command.

Script is

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

The error I get at run is "[29999] command is not found".

Ty for your help and time.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心碎的声音 2024-12-27 04:05:02

[$ 之间需要有一个空格。 [ 是测试命令。

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

You need a space between [ and $. [ is test command.

 #!/bin/bash
 if [ $(pidof whatever) ]
 then
  echo "suicide"
 fi
 exit 0
将军与妓 2024-12-27 04:05:02

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

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

[ is a command. Just like with any other command, bash expects the command to be followed by a space, then the first argument, then another space, etc. Here is the correct way:

if [ "$(pidof whatever)" ]; then ...
月下客 2024-12-27 04:05:02

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

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

希望这有帮助!

Problem seems to be lack of space between the test operators. Try:

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

Hope this helps!

紫瑟鸿黎 2024-12-27 04:05:02

[ 和 ] 之间需要有空格
例如

if [ $(pidof whatever) ]

if [ "$(pidof whatever)" ]

You need spaces between the [ and ]
e.g.

if [ $(pidof whatever) ]

or

if [ "$(pidof whatever)" ]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文