.bash_profileのさまざまなパス形式

.bash_profileのさまざまなパス形式

これまでにいくつかの異なるフォーマットを見ました。

  1. 引用符と角括弧を使用する:

    PATH="/usr/local/bin:${PATH}"
    
  2. 引用符のみを含める:

    PATH="/usr/local/bin:$PATH"
    
  3. まったくなし:

    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

関連情報