什么是[[:找不到错误?

时间:2013-06-24 17:16:10

标签: shell

我尝试执行包含shell脚本的文件。

我在最后一行收到一个名为“[[:not found”错误的错误。如何解决?

4 个答案:

答案 0 :(得分:7)

[[bashsh想要[变体。

将其更改为/usr/bin/bash(或bash位于您系统上的任何位置),或相应地调整表达式:

if [ status_of_job -eq 0 ];

答案 1 :(得分:4)

[实际上是linux中的可执行文件。但是[[不是。

尝试

if [ status_of_job -eq 0 ]; then 

(请注意单[]套)。

答案 2 :(得分:2)

这位翻译:

#!/usr/bin/sh

要么不是bash,要么你的文件没有在正确的地方放置。

ls -l /usr/bin/sh会告诉你它是否是bash以外的符号链接。

如果是bash,请检查#!之前是否没有前导字符。

答案 3 :(得分:0)

您可能会发现您稍后遇到与POSIX shell相关的问题时偶然发现了其他块。人们并不真正了解bash在被带走之前实际提供了多少。看看这个,这样你就可以避免任何其他问题:

http://pubs.opengroup.org/onlinepubs/7908799/xcu/shellix.html