我尝试执行包含shell脚本的文件。
我在最后一行收到一个名为“[[:not found”错误的错误。如何解决?
答案 0 :(得分:7)
[[
是bash
。 sh
想要[
变体。
将其更改为/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