以下のスクリプトから再読み込みしようとしましたが、.profile
まったく機能しません。
#!/bin/ksh
sed -i '/export rel=Rel1510_Linux/c\export rel=Rel1602_MX' ~/.profile
source ~/.profile
このスクリプトを実行すると、タスクのみがsed
実行され、再ロードされません。例は次のように実行されます。
rk248c:/opt/app/capm/users/rk248c/Rel1510_Linux> ./switchTo1602.ksh
rk248c:/opt/app/capm/users/rk248c/Rel1510_Linux>
source
したがって、端末で直接実行して構成ファイルを再ロードする必要があります。
rk248c:/opt/app/capm/users/rk248c/Rel1510_Linux> source ~/.profile
rk248c:/opt/app/capm/users/rk248c/Rel1602_MX>
私がここで何を見逃しているのでしょうか?助けてください。
答え1
ロッキー、
この問題は、スクリプトでsource doコマンドを実行するbash
と解決されます。
bash
コマンドは環境変数を再ロードします。