2017-02-11 53 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