シェルスクリプトは、呼び出し元のシェルの環境変数を設定できますか?

ラリー・グリッツ

実行時に、呼び出し元のシェルに設定されたままになるいくつかの環境変数を設定するシェルスクリプトを作成しようとしています。

setenv FOO foo

csh / tcsh、または

export FOO=foo

sh / bashでは、スクリプトの実行中にのみ設定してください。

私はすでにそれを知っています

source myscript

新しいシェルを起動するのではなく、スクリプトのコマンドを実行します。これにより、「呼び出し元」の環境が設定される可能性があります。

しかし、ここにこすりがあります:

このスクリプトをbashまたはcshから呼び出し可能にしたい。つまり、どちらのシェルのユーザーもスクリプトを実行して、シェルの環境を変更できるようにする必要があります。したがって、cshを実行しているユーザーはbashスクリプトをソースできず、bashを実行しているユーザーはcshスクリプトをソースできないため、「source」は機能しません。

スクリプトに2つのバージョンを記述して維持する必要がない合理的な解決策はありますか?

コンバーター42

シェルプロセスには親の環境のコピーがあり、親プロセスの環境にはまったくアクセスできません。シェルプロセスが終了すると、その環境に加えた変更はすべて失われます。スクリプトファイルのソーシングは、シェル環境を構成するために最も一般的に使用される方法です。弾丸を噛み、シェルの2つのフレーバーのそれぞれに1つずつ維持したい場合があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

スクリプトは、呼び出し元のシェルの環境変数を変更できますか?

分類Dev

gnuplot: スクリプトでシェル変数を設定して、後でそれらを呼び出すことはできますか?

分類Dev

Reactアプリのシェルスクリプトで環境変数を設定する

分類Dev

Pythonスクリプトの結果となるようにシェルで環境変数を設定するにはどうすればよいですか?

分類Dev

Pythonスクリプトを介してシェル環境変数を設定します

分類Dev

シェルスクリプトから環境変数を移植可能に設定

分類Dev

bash:配列の環境変数を設定し、シェルスクリプトから逆参照すると失敗する

分類Dev

呼び出し時にAWSpythonlambdaの環境変数を設定できますか

分類Dev

シェルスクリプトを使用してJava環境変数を設定する方法

分類Dev

npmスクリプトの引数としてシェル環境変数を渡します

分類Dev

シェルスクリプトを呼び出すときのshと./の違いは何ですか?

分類Dev

環境変数がUnixシェルスクリプトで設定されていることを確認する簡潔な方法は何ですか?

分類Dev

関数のローカル変数を呼び出し元の環境にバインドできますか?

分類Dev

Pythonでbashスクリプトを呼び出す環境変数を設定します

分類Dev

cmd.exeサブシェルで環境変数の内容を設定して出力しますか?

分類Dev

SSH環境変数はシェルスクリプトファイルでどのように機能しますか?

分類Dev

シェルの外部で、ユーザー環境変数を永続的に設定しますか?

分類Dev

環境がDevをProdに変更したときに、このUnzipシェルスクリプトの動作が異なるのはなぜですか?

分類Dev

Python:binを呼び出すシェルスクリプトを呼び出します。引数付き

分類Dev

Pythonスクリプトでbash構成ファイルを呼び出して、環境変数を設定します

分類Dev

Cシェルのスクリプトとして変数を設定できません

分類Dev

シェルからの変数の設定:スクリプトでそれらを使用する方法は?

分類Dev

シェルスクリプトで複数行の環境変数をエクスポートする方法

分類Dev

シェルスクリプト内のローカルシェルからリモートssh接続に環境変数をコピーする方法は?

分類Dev

Windows環境でシェルスクリプトを操作するのに適したIDEは何ですか?

分類Dev

"。〜 / .bashrc"は、呼び出し元のスクリプトで期待どおりに変数を設定しません

分類Dev

シェルスクリプトから呼び出されているOracleSQLファイルへの入力として変数値を渡します

分類Dev

シェルスクリプトの別の関数内で関数を呼び出す方法は?

分類Dev

Dockerfileシェルスクリプトの.envファイルから環境変数値を取得するにはどうすればよいですか?

Related 関連記事

  1. 1

    スクリプトは、呼び出し元のシェルの環境変数を変更できますか?

  2. 2

    gnuplot: スクリプトでシェル変数を設定して、後でそれらを呼び出すことはできますか?

  3. 3

    Reactアプリのシェルスクリプトで環境変数を設定する

  4. 4

    Pythonスクリプトの結果となるようにシェルで環境変数を設定するにはどうすればよいですか?

  5. 5

    Pythonスクリプトを介してシェル環境変数を設定します

  6. 6

    シェルスクリプトから環境変数を移植可能に設定

  7. 7

    bash:配列の環境変数を設定し、シェルスクリプトから逆参照すると失敗する

  8. 8

    呼び出し時にAWSpythonlambdaの環境変数を設定できますか

  9. 9

    シェルスクリプトを使用してJava環境変数を設定する方法

  10. 10

    npmスクリプトの引数としてシェル環境変数を渡します

  11. 11

    シェルスクリプトを呼び出すときのshと./の違いは何ですか?

  12. 12

    環境変数がUnixシェルスクリプトで設定されていることを確認する簡潔な方法は何ですか?

  13. 13

    関数のローカル変数を呼び出し元の環境にバインドできますか?

  14. 14

    Pythonでbashスクリプトを呼び出す環境変数を設定します

  15. 15

    cmd.exeサブシェルで環境変数の内容を設定して出力しますか?

  16. 16

    SSH環境変数はシェルスクリプトファイルでどのように機能しますか?

  17. 17

    シェルの外部で、ユーザー環境変数を永続的に設定しますか?

  18. 18

    環境がDevをProdに変更したときに、このUnzipシェルスクリプトの動作が異なるのはなぜですか?

  19. 19

    Python:binを呼び出すシェルスクリプトを呼び出します。引数付き

  20. 20

    Pythonスクリプトでbash構成ファイルを呼び出して、環境変数を設定します

  21. 21

    Cシェルのスクリプトとして変数を設定できません

  22. 22

    シェルからの変数の設定:スクリプトでそれらを使用する方法は?

  23. 23

    シェルスクリプトで複数行の環境変数をエクスポートする方法

  24. 24

    シェルスクリプト内のローカルシェルからリモートssh接続に環境変数をコピーする方法は?

  25. 25

    Windows環境でシェルスクリプトを操作するのに適したIDEは何ですか?

  26. 26

    "。〜 / .bashrc"は、呼び出し元のスクリプトで期待どおりに変数を設定しません

  27. 27

    シェルスクリプトから呼び出されているOracleSQLファイルへの入力として変数値を渡します

  28. 28

    シェルスクリプトの別の関数内で関数を呼び出す方法は?

  29. 29

    Dockerfileシェルスクリプトの.envファイルから環境変数値を取得するにはどうすればよいですか?

ホットタグ

アーカイブ