2017-02-11 59 views
-1
工作

我收到此错误:我的if语句不猛砸

[[: command not found 

这里是我的代码:

#!/usr/bin/env bash 

IS_PYSTACHE_INSTALLED=$(pip list --format=columns | grep "pystache ") 
if [[ ! -z "${IS_PYSTACHE_INSTALLED}" ]]; then 
    echo " > Installing pystache" 
    pip install pystache 
else 
    echo " > Pystache is already installed" 
fi 

我在做什么错?

+2

你确定你的shell真的是Bash吗?可能它是别的,例如Dash。 – janos

+0

如果您没有shebang并且正在以脚本的形式执行它(例如使用'./ script'而不是'bash script''''''''''''''''''''''''''''',支持'[['。 – chepner

+0

我有shebang。我只是没有复制整个代码。没有理由。其余的工作。 – jnbdz

回答

1

如果你不确定你的默认外壳,去到终端,做一个echo $SHELL,如果你看到#/bin/bash然后chmod脚本像这样./filename.sh运行它,但要确保你的hashbang线#!/usr/bin/env bash。如果你想改变你的默认shell为bash,使用chsh命令

+0

当我'echo $ SHELL'时,我得到/ bin/bash。大部分脚本再次执行正常。它只是引发错误的部分。 – jnbdz