从SecureCRT调用时,脚本在调用tput的行上退出

时间:2018-08-12 04:41:15

标签: linux bash

我正在使用语言环境en_US.UTF8当使用bash -v script_name.sh时,它会得到一个带有单引号的变量-例如以下示例。尝试在securecrt会话上手动设置UTF8,并确认所有语言环境设置均为en_US。

发生错误时,没有错误消息,仅显示最后一个变量值,然后返回到终端提示符

reduce

代码示例

for( index in array)

2 个答案:

答案 0 :(得分:0)

该解决方案虽然是局部的,但它是SecureCRT会话或Shell会话以某种方式无法正确解析脚本。一旦我使用了VMware控制台并打开了一个终端,它便开始工作。...因此,我将立即使用它并放下该问题。有点令人沮丧,但现在我知道了。

答案 1 :(得分:0)

更改:

GREEN=`tput setaf 2`

...到...

GREEN=$(tput setaf 2) ||:

:true的同义词。这将导致tput的失败被忽略,因此即使无法检测到绿色的颜色代码,脚本也会继续执行(即使使用set -e也是如此)。

也就是说,我强烈建议不要使用set -e;请参阅BashFAQ #105进行深入讨论。