0
由于限制了bash
shell的不可用性,我使用了sh
shell。下面的一段代码在bash
外壳上运行正常,但在sh
外壳上运行时会引发错误。使用sh脚本时出错
if [[ -n $(grep -i "${RSA_BACKUP[iter]}: OK" $BACKUP_HASH_TRACK) ]]
error: /etc/backup_infra.sh: line 79: syntax error: bad substitution
你正在使用的变量的值是多少?如果没有这些适当的价值,你的投入是不可核实的,因此不能提供适当的解决方案。 – Inian
你的代码有两个元素,它们是bashisms,不能在POSIX shell中工作(假设你的'sh'是POSIX,你还没有确认)。第一个是'[['。不要使用它,请重新编写脚本以使用传统测试。有关您的平台上可用内容的详细信息,请参阅“man test”。第二个是你使用数组。 Bash支持数组。 POSIX shell不。如果你需要帮助编码解决这个问题,你需要在你的问题中提供更好的背景。 – ghoti
@ ghoti:完全同意你的意见。正如你所看到的,OP的帖子是无法证实的,我们不知道他的要求是什么,他对变量的价值是什么(我甚至发布了一条要求提供信息的评论),但对这些信息的最少建议/帮助我可以给推荐使用[我这样做 – Inian