2011-12-26 114 views
2

地方我有其中定義了多個變量的bash的文件:採購變量在bash

VAR1="value1" 
VAR2="value2" 
# ... 

我需要進口這些變量在~/.bashrc,以定製PS1PATH等打開,但不希望導入的變量可以在~/.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 

我怎樣才能做到這一點?

回答

5

使用一個子shell:

getPATH() (
    . ~/bashvars.sh 
    echo "$PATH:$VAR1" 
) 
PATH=$(getPATH)