これまでにいくつかの異なるフォーマットを見ました。
引用符と角括弧を使用する:
PATH="/usr/local/bin:${PATH}"
引用符のみを含める:
PATH="/usr/local/bin:$PATH"
まったくなし:
PATH=/usr/local/bin:$PATH
エクスポートはすべて同じです。
export PATH
正しい/好ましいアプローチは何ですか?
答え1
これはPATHだけでなく、一般的なシェル変数に関するものです。
以下は、エラーを減らす理由""
と方法のいくつかの例です。{}
引用符で囲む方が安全です。これはあなたがa=hello world
期待したものを得ることはできませんが、a="hello world"
得ることができます。
{}
また、使用する方が安全です。h="hello"; echo "$hword"
動作しませんが、h="hello"; echo "${h}word"
動作します。
答え2
彼らはすべて非常に効果的です。 1つは他のものよりはるかに優れていませんが、次のことを好みます。
export PATH=$PATH:/usr/local/bin
エクスポートとパス設定を1行で処理します。私も既存のパスの前に新しいパスを置かない傾向がありますが、$PATH
場合によっては古いシステムライブラリよりも新しい独自のコンパイルライブラリをロードする必要があるかもしれません。
変数をエクスポートしたい場合は、はい、次のように参照したいと思います。
export myservers="server1 server2 server3"
これで以下echo $myservers
を見ることができます:
[user]# echo $myservers
server1 server2 server3
しかし、この質問は$PATH
シェル変数とは何の関係もないため、'hello world'
システムパスとして印刷していないため、私の元の投稿はまだ有効です。
[user]# echo $PATH ## Something you shouldn't be doing
/usr/local/bin:HELLO WORLD/sbin:/bin:/usr/sbin:WHY AM I DOING THIS?/usr/bin:/root/bin