我正在使用语言环境en_US.UTF8当使用bash -v script_name.sh时,它会得到一个带有单引号的变量-例如以下示例。尝试在securecrt会话上手动设置UTF8,并确认所有语言环境设置均为en_US。
发生错误时,没有错误消息,仅显示最后一个变量值,然后返回到终端提示符
reduce
代码示例
for( index in array)
答案 0 :(得分:0)
该解决方案虽然是局部的,但它是SecureCRT会话或Shell会话以某种方式无法正确解析脚本。一旦我使用了VMware控制台并打开了一个终端,它便开始工作。...因此,我将立即使用它并放下该问题。有点令人沮丧,但现在我知道了。
答案 1 :(得分:0)
更改:
GREEN=`tput setaf 2`
...到...
GREEN=$(tput setaf 2) ||:
:
是true
的同义词。这将导致tput
的失败被忽略,因此即使无法检测到绿色的颜色代码,脚本也会继续执行(即使使用set -e
也是如此)。
也就是说,我强烈建议不要使用set -e
;请参阅BashFAQ #105进行深入讨论。