[英]Linux: export environment variable in a shell script to make it flexible on any server
[英]export variable to linux using shell script
我想使用shell脚本将变量导出到linux。 我的shell脚本如下:
export dbHost=server01
export dbName=someName
当我在运行脚本后打印这些变量时,得到以下输出
"eclare -x dbHost=" server01
declare -x dbName=" someName "
因此,它可以正确导出dbName而不是dbHost。 如果我只保留第一行
export dbHost=server01
然后在脚本中正确打印dbHost。 我在这里做错了什么???
我怀疑您的文件中有DOS行结尾,可以使用以下命令进行测试:
cat -t file.sh
这将显示如下内容:
export dbHost=server01^M
export dbName=someName^M
要解决此问题,请在file.sh
上运行dos2unix
。
当我在运行脚本后打印这些变量时
您export
的变量将仅在脚本运行所在的外壳内部以及子外壳中可见。 如果要在脚本终止后查看效果,则必须提供脚本source
。
可以在超级用户对此问题的答案中找到解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.