Linux设置变量



我正在Linus中运行一个shell脚本,我有一个意外的行为。

bash-4.2$ echo $TOOLBOX_ROOT
/opt/lsas/lsas_datenbank/tools/3rd_Party/ettools
bash-4.2$ export REALSCRIPT="$TOOLBOX_ROOT/sh/dbSchemaSetup.sh"
bash-4.2$ echo $REALSCRIPT
/sh/dbSchemaSetup.shbank/tools/3rd_Party/ettools

看起来它不是同时连接两个字符串,而是在开头附加数据。

有什么建议吗?

问候

当设置了TOOLBOX_ROOT的值时,它的末尾有一个回车($'r'(。因此,REALSCRIPT变量的值现在是:

/opt/lsas/lsas_datenbank/tools/3rd_Party/ettoolsr/sh/dbSchemaSetup.sh

echo $REALSCRIPT时,recho解释为回车,意思是:将光标移动到行的开头。结果,视觉输出是"0"/opt/lsas/lsas_datenbank/tools/3rd_Party/ettools";但在开头用"0"重写/sh/dbSchemaSetup.sh";。

最佳选项是防止r被包括在对TOOLBOX_ROOT的分配中。

第二个最好的选择是在任务完成后立即删除它,比如:

TOOLBOX_ROOT=${TOOLBOX_ROOT/%$'r'/}

这将从该变量的末尾移除任何滑架返回。

相关内容

  • 没有找到相关文章

最新更新