質問
私はシェル(この場合はCSH)スクリプトをかなり経験の浅いですが、編集するように求められました。いくつかの特定の変数を編集するのをはるかに簡単にするために、構成ファイルを追加するように求められました。これはスクリプトであり、ファイルを読むことは少しばかげているので、これはばかげていると思ったので、変数を設定する別のスクリプトを作成できました。
親スクリプト
#!/bin/csh
...
...
./set_vars
echo $aVar
そして、私のset_varsスクリプトは似ています
#!/bin/csh
setenv aVar "400"
echo $aVar
しかし、アバール私は親スクリプトで定義されています。
私の質問は...親スクリプトが使用できる子のスクリプトを設定する変数を設定するにはどうすればよいか、または誰かが変数を設定できる構成ファイルを持っているより良い方法がありますか。
これはそれを行うための愚かな方法のように思えますが、私が言うことができる最良の方法は、ファイルIOを必要とせず、それでもVARSを編集するための簡潔なファイルを持っています。
解決
親のコンテキスト内で「set_vars」スクリプトを実行する必要があります。 C-Shellでは、「ソース」コマンドでこれを達成します。
#!/bin/csh ... source set_vars ... echo $aVar
所属していません StackOverflow