Bash检查环境var设置失败不起作用

时间:2016-10-21 14:04:14

标签: bash

只是在我的服务器上玩,以获取下一个服务器的脚本。一切正常 - 现在我想在新服务器上运行它我得到了这样的错误:

  

sudo sh setup.sh   主机名是dinozzo   setup.sh:10:setup.sh:[[:not found

开始的剧本并不多。 第10行是

  

if [[“$ INT_DEV_HOSTNAME”]];然后

但我不明白为什么它不能用于Ubuntu 14.04.5 LTS。

1 个答案:

答案 0 :(得分:3)

你明确告诉shell使用sh:

sudo sh setup.sh Hostname is dinozzo setup.sh: 10: setup.sh: [[: not found

在此模式下,即使您默认使用,它也会产生错误,因为它将处于 POSIX 模式。

[[ ]]形式的test需要在 shell中调用(其他shell也支持它,如ksh,zsh ...)