peo*_*oro 3 variables bash import local
我有一个bash文件,其中定义了许多变量:
VAR1="value1"
VAR2="value2"
# ...
Run Code Online (Sandbox Code Playgroud)
我需要导入这些变量~/.bashrc以便自定义PS1,PATH等等,但不希望导入的变量可以在外部访问~/.bashrc.
为了让自己清楚一个例子,我想做这样的事情:
function setPATH
{
local . ~/bashvars.sh # this isn't legal, of course...
PATH="$PATH:$VAR1" # $VAR1 is defined in ~/bashvars.sh
unset -f setPATH
}
setPATH
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
使用子shell:
getPATH() (
. ~/bashvars.sh
echo "$PATH:$VAR1"
)
PATH=$(getPATH)
Run Code Online (Sandbox Code Playgroud)