我想使用shell脚本将变量导出到linux。我的shell脚本如下:
export dbHost=server01
export dbName=someName
当我在运行脚本后打印这些变量时,我得到以下输出
"eclare -x dbHost=" server01
declare -x dbName=" someName "
因此它正确导出dbName但不导出dbHost。如果我只保留第一行
export dbHost=server01
在脚本中然后它正确打印dbHost。 我在这里做错了什么???
答案 0 :(得分:1)
我怀疑你的文件中有DOS行结束,你可以测试:
cat -t file.sh
这将显示如下:
export dbHost=server01^M
export dbName=someName^M
要解决此问题,请在dos2unix
上运行file.sh
。
答案 1 :(得分:0)
在运行脚本
后打印这些变量时
您export
的变量只会在您的脚本运行的shell和子shell中显示。如果要在脚本终止后查看效果,则必须source
脚本。
可以在超级用户的question的答案中找到解释。