2
内から動作していません私は期待している)ソースは、私はシェルスクリプトに以下の行を持っているシェルスクリプト
しかし、シェルスクリプトと同じフォルダから、私はちょうどシェルからコマンドを実行すると、期待どおりに動作します。
スクリプト内からディレクトリを変更することはありません。実際には、ここでのスクリプトは次のとおりです。
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にからの変更を管理し、Gitのリポジトリに格納するスクリプトを使用します。
ソーススクリプト内でソースコマンドが動作しないのはなぜですか?
あなたもスクリプトをソースしていますか? 'source thescriptname'?さもなければ、スクリプトは新しいシェルで実行されており、 'source bash_profile'コマンドはその新しいシェル(スクリプトの最後で終了します)に影響します。 –
これを答えに入れて、私は受け入れます。私は "source theScript.sh"と入力するのではなく、スクリプト名 "theScript.sh"をタイプするだけでスクリプトを実行していました。ありがとう! – cmcculloh
あなたは@バートと言うか、彼は決してそれを見ないかもしれません。 –