由于sh
shell不可用的限制,我正在使用bash
shell。下面的代码在bash
shell上正常运行,但在sh
shell上运行时会抛出错误。
if [[ -n $(grep -i "${RSA_BACKUP[iter]}: OK" $BACKUP_HASH_TRACK) ]]
错误:/etc/backup_infra.sh:第79行:语法错误:错误替换
答案 0 :(得分:0)
您尝试运行的脚本需要Bash(至少版本4.0)。这是因为它使用
${RSA_BACKUP[iter]}
)。[[ ... ]]
代替[ ... ]
。现在有很多shell使用[[ ... ]]
语法,有些像bash
一样,即使它们被调用为sh
,也可以理解它。但是,dash
和ash
shell不会。
但主要问题是关联数组。你现在面临的问题是
bash
安装此脚本。