PATH
環境変数の変更(たとえば、「〜/ .bashrc」)に関しては、いくつかの異なる方法を見てきました。
PATH=$PATH:/new/path
PATH="$PATH:/new/path"
export PATH = $PATH:/new/path
export PATH = ${PATH}:/new/path
setenv PATH $PATH:/new/path
何の{ }
ために?いつ" "
必要ですか?いつ使用するexport
かsetenv
?ところで、私のUbuntu 14.04は、のために手動で入力する必要はありませんexport
が、それはのための1つを持っていますsetenv
。どうして?
PATH
環境変数を変更することになると(たとえば、「〜/ .bashrc」で)、私はそれを行ういくつかの異なる方法を見てきました
それらのいくつかは有効な設定方法です$PATH
が、いくつかは有効な設定方法ではありません$PATH
。ほとんどが同じ漁獲量を持ち、一部は範囲が異なります。
構文について言えば(Bash /互換性のあるシェルで);
PATH=$PATH:/new/path
:大丈夫ですが、「/ new / path」のスペースがある場合はエスケープする必要があります。PATH="$PATH:/new/path"
:大丈夫です。「/ new / path」のスペースをエスケープする必要はありません。export PATH = $PATH:/new/path
:代入演算子の前後にスペースを入れることはできないので、問題ありません(そして、「/ new / path」のスペースをエスケープする必要があります)。export PATH = ${PATH}:/new/path
:と同じexport PATH = $PATH:/new/path
;setenv PATH $PATH:/new/path
:setenv
あるcsh
ビルトイン。PATH=$PATH:/new/path
;と同じである必要があります。一重引用符/二重引用符はどちらも、Bashが空白で壊れるのを防ぎます。一重引用符は、Bashがパラメーター展開、コマンド置換、または算術展開を実行することを防ぎ、Bashに囲まれた文字列を文字通りに解釈するように強制します。代わりに、二重引用符は、Bashがパラメーター展開、コマンド置換、または算術展開を実行することを妨げません。2番目のケースでは、$PATH
;でパラメーター展開を許可するために二重引用符が必要です。
変数に続く文字が変数名の有効な文字である場合は中括弧が必要ですが:
、そうではないため、4番目の場合は実際には必要ありません。
var=value
、export var=value
との違いといえばsetenv var value
;
var=value
$var
現在のシェルのの値を設定します。フォークされたシェル/プロセスは変数もその値も継承しません。export var=value
$var
現在の環境での値を設定します。フォークされたシェル/プロセスは変数とその値を継承します。setenv PATH $PATH:/new/path
:と同じexport var=value
;$ foo=bar
$ bash
$ echo $foo
$ exit
exit
$ export foo=bar
$ bash
$ echo $foo
bar
ちなみに、私のUbuntu 14.04は、のために手動で入力する必要はありません
export
が、それはのための1つを持っていますsetenv
。どうして?
と入力man setenv
すると、の出力が得られますman 3 setenv
。これはsetenv()
、「Linuxプログラマーズマニュアル」からの関数の手動入力です。前に述べたように、setenv
UbuntuにはコマンドもBashにも組み込まれていませんが、;にsetenv
はsetenv
組み込みがありcsh
ます。
export
代わりで、内蔵し、実行する必要がありますそれについての情報を取得するためにバッシュhelp export
:
$ help export
export: export [-fn] [name[=value] ...] or export -p
Set export attribute for shell variables.
Marks each NAME for automatic export to the environment of subsequently
executed commands. If VALUE is supplied, assign VALUE before exporting.
Options:
-f refer to shell functions
-n remove the export property from each NAME
-p display a list of all exported variables and functions
An argument of `--' disables further option processing.
Exit Status:
Returns success unless an invalid option is given or NAME is invalid.
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加