2
我有一個shell腳本以下行:源不是從shell腳本中工作
source bash_profile
它沒有錯誤,但它不會做任何事情,我可以看到無論是(這不是重裝我的別名一樣我期望)
但是,從shell腳本所在的文件夾中,如果我只是從shell運行命令,它就像我所期望的那樣工作。
我從不改變腳本內的目錄。事實上,這裏是腳本:
direction="to"
destination="local"
if [ -n $1 ]
then
direction=$1
fi
if [ -n $2 ]
then
destination=$2
fi
command=$direction$destination
if [ $command = "fromlocal" -o $command = "togit" ]
then
cp /c/Program\ Files/Git/etc/bash_profile /d/automata/flgitscripts/bash_profile
else
cp /d/automata/flgitscripts/bash_profile /c/Program\ Files/Git/etc/bash_profile
fi
source /c/Program\ Files/Git/etc/bash_profile
我使用腳本來管理變更,並從.bash_profile中,並把它們存儲在一個混帳回購協議。
爲什麼source命令不在shell腳本中工作?
您是否也在採購腳本:`source thescriptname`?否則,腳本運行在一個新的shell中,並且`source bash_profile`命令影響新的shell(它在腳本的末尾退出)。 – 2010-12-07 19:12:32