无法在shell脚本中获取环境变量
问题描述:
我想获取一些在.bash_aliases文件中设置的环境变量。我想在我的bash脚本中使用它们无法在shell脚本中获取环境变量
#!/bin/dash
echo $PATH
echo $DEPOT_TOOLS
这两个都会在myscript中调用它时传入空字符串。在终端中,这些变量正在成功打印。
答
您只需输入.bash_aliases文件 - 但由于dash
只支持POSIX shell语法,因此您可能会发现.bash_aliases中的定义不适用于破折号。如果是这种情况,只需将别名放在不同的文件和源中即可。此外,环境变量PATH
通常始终可用,不确定系统上发生了什么。
#!/bin/dash
. .some_aliases
echo "$PATH"
echo "$something_else"
您可以添加定义变量的行吗?他们出口了吗? http://stackoverflow.com/q/1158091/2424184 – eush77
为什么在一个非标准文件中设置环境变量来定义别名? – chepner
你使用'bash'或'dash'吗? – chepner