以下のソースパス変数の簡単なスクリプトを作成しています。
#!/bin/csh
echo "setting path"
set path=($path /sbin:/mscc/apps)
ただし、パス変数は変更されず、同じままです。エラー/警告なしでcshシェルを実行します。
次のように誤った行を追加した場合:
setenv PATH $PATH:sbin
「悪い選択肢」について文句を言った。しかし、上記の2つのパスが追加されました。なぜこれが起こるのですか?
ベストアンサー1
私がコピーできる場合にのみ、このアイテムをコピーできます。実装する次のスクリプト:
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin
$ ./script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin
次に変更すると源泉スクリプトを実行すると、他の動作が表示されます。
$ source script.csh
setting path
$ echo $path
/usr/local/bin /usr/bin /usr/local/sbin /usr/sbin /sbin:/mscc/apps
/sbin /mscc/apps
(コロンの代わりにスペースで要素を区切りたいですか?)