私が知る限り、変数の割り当ては、エクスポートの前にあるかどうかに関わらず同じです。何のために?シェルプログラミングで「エクスポート」は何をしますか?
答えて
エクスポート変数($HOME
および$PATH
など)は、他のプログラムで使用できます。 通常の(エクスポートされていない)変数は、他のプログラムでは使用できません。
詳細については、GNU Bashマニュアルのexport
builtinのエントリを参照してください。非エクスポートされた変数は(...)
と同様の表記を経由して実行サブシェルに利用できるようになることを
注:
$ othervar=present
$ (echo $othervar; echo $variable; variable=elephant; echo $variable)
present
Hello
elephant
$ echo $variable
Hello
$
サブシェルはもちろん、親シェル変数に影響を与えることができません。
サブシェルについての情報は、Bashマニュアルのcommand groupingおよびcommand execution environmentにあります。
サブプロセスに割り当てを表示させます。
[email protected]:~/rentacoder/bin2txt$ foo=bar
[email protected]:~/rentacoder/bin2txt$ bash -c 'echo $foo'
[email protected]:~/rentacoder/bin2txt$ export foo
[email protected]:~/rentacoder/bin2txt$ bash -c 'echo $foo'
bar
まあ、それは一般にシェルに依存します。 bash
の場合、変数は「エクスポート可能」としてマークされ、実行中の子プロセスの環境に表示されます。
エクスポートされていない変数は、現在のプロセス(シェル)からのみ表示されます。 bash
manページから
:
export [-fn] [name[=word]] ...
export -p
指定する名前は、続いて実行されるコマンドの環境へ自動的にエクスポートするためにマークされています。
-f
オプションが指定されている場合、名前は関数を参照します。名前が指定されていない場合、または-p
オプションが指定されている場合は、このシェルでエクスポートされたすべての名前のリストが出力されます。
-n
オプションを指定すると、各名前からエクスポートプロパティが削除されます。変数名の後に
=word
がある場合、変数の値はword
に設定されます。
export
は、無効なオプションが見つかったか、名前の1つが有効なシェル変数名でないか、または-f
に機能ではない名前が指定されていない限り、終了ステータス0を返します。
またtypeset
コマンドでエクスポートなどの変数を設定すると、自動的にset -a
と、のような将来のすべての変数の作品や変更をマークすることができます。
エクスポートされた変数は、プロセス階層内のすべてのプロセスで使用できます。たとえば、子プロセスによってエクスポートされたデータは親プロセスで使用でき、その逆もあります。
エクスポートの主な使用例は、2つのプロセス間でデータを共有することです。
子プロセスはその親の値を変更できません。 –
- 1. ここには何が起こっていますか?シェルプログラミング
- 2. UNIXシェルプログラミングの解釈はベースですか?
- 3. シェルプログラミングまたはSED/AWK
- 4. javascriptでは、エクスポートとエクスポートのデフォルトの違いは何ですか
- 5. シェルプログラミング、スレッドファイルのロッキング
- 6. 等号なしのエクスポート変数は何をしますか?
- 7. Typescriptの再エクスポートは何ですか?
- 8. 基本的なシェルプログラミング
- 9. シェルプログラミング(シェルコマンドの使用)
- 10. .classpathのエクスポートされた属性は何をしますか?
- 11. シンボルのエクスポートは何を意味しますか?
- 12. JSXで「デフォルトをエクスポートする」とは何ですか?
- 13. 練習シェルプログラミング(初心者)
- 14. シェルプログラミング:fish in findの使い方は?
- 15. TypeScriptでは 'エクスポート'の意味は何ですか?
- 16. ES6で定数をエクスポートする正しい方法は何ですか?
- 17. Javascript/Typescriptのインポート/エクスポートの理由は何故でしょうか。
- 18. ラズベリーパイのシェルプログラミングでHDMIポートを有効にした後3
- 19. Beanシェルプログラミングで値を読み取る方法は?
- 20. UNIXのないWindows PCでUNIXシェルプログラミングを行うには?
- 21. lmコマンドで 'エクスポートされたシンボル'とは何ですか?
- 22. 「秘密鍵のエクスポート」とは何を意味しますか(Makecert -pe)?
- 23. CSVエクスポート - ここで何が起こっていますか?
- 24. カテゴリオプションでWikipediaをエクスポートしますか?
- 25. cxx_libraryはプリプロセッサマクロをエクスポートできますか?
- 26. -excの目的は何ですか、コンテナymlファイルでTERM = dumbをエクスポートしますか?
- 27. フロー内の別のファイルから何かをエクスポートするには?
- 28. エクスポートcsv要素のCSSパスは何ですか
- 29. Outlook連絡先エクスポートのCSVヘッダーとは何ですか?
- 30. Eclipseの設定エクスポートの形式は何ですか?
'grep'コマンドの出力がないことをより明確に示すために、いくつかの新しい行と' $ 'を単に追加しました。もちろん、これが可読性を失うと考えるならば、ロールバックしてもかまいません。 – fedorqui