web-dev-qa-db-ja.com

環境パス名に引用符を使用する必要がありますか?

私はすべての構成ファイルを可能な限り読みやすくするためにクリーンアップしている最中です。たとえば、~/.bashrcファイルでパスをエクスポートする際の引用符の使用に関するスタイルガイドを探していました。

export PATH="/users/me/path:$PATH"

export PATH=/users/me/path:$PATH

Google シェルスタイル ガイドでは、パス名の引用符を避けることを推奨しています。対照的に、人気のあるドットファイルリポジトリ(Zach Holmanの here など)の多くは引用符を使用しています。パスで引用符を使用することが有利な状況はありますか?

27
Cabbage soup

Docker .envファイルで環境パス名を設定するときに上記の回答を使用して、少しわかりました。 dockerの環境変数を定義する方法を探している人のために、ここにこれを置きます。

Docker composeは、Docker composeが実行されているのと同じフォルダーにある.envファイルから環境変数を読み取ります 。https://docs.docker.com/compose/env-file。

ただし、Docker composeは、値を引用符で囲む代わりに、引用符が値の一部でない限り、引用符なしで定義された環境変数を必要とします。繰り返しになりますが、上記のURLに記載されています

引用符の特別な処理はありません(つまり、それらはVALの一部になります。警告されています;)

NODE_PATH=./srcは、Dockerによってデプロイされている反応アプリで動作する絶対パスですが、NODE_PATH="./src"。この警告により、私は4時間のウサギの穴から抜け出しました。

2
Fralcon

test 123はUNIXでは有効なパス名です。試す

PATH=test 123

戻ります:

123: command not found

あるいは

export PATH=test 123

戻ります

bash export: `123': not a valid identifier

それはあなたの質問に答えますか?

正直なところ、私はそのような第四者スタイルガイドには従いません。グーグルでさえこのような間違った助言を宣伝していることに私は驚いているが。

私は従います:

(慎重に拡張される)

2
hek2mgl