「$ PATHをエクスポート」すると「有効な識別子ではありません」


37

export $PATHbashで実行すると、エラーが発生しますnot a valid identifier。どうして?


8
bashやその他のシェルで$は、「の値」です。変数PATHに値をアクセスせずに変数をエクスポートしているためexport PATH、noがあり$ます。
ジル 'SO-悪であるのをやめる'

より一般的な同様の問題:askubuntu.com/questions/529919/...
ヴァジム・

回答:


40

実行export $PATHすると、(word splittingの後)のに等しい名前の変数をエクスポートしようとします。つまり、のようなものを書くことに相当します。また、有効な変数名ではないため、失敗します。あなたがしたいことはです$PATHexport /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binexport PATH

exportdeclare -xBashの)は、変数をサブシェルで使用できるようにします。

変数の値を安全かつ読みやすく表示するには、を使用しますprintf %q "$PATH"


基本的に、いくつかの変数JAVA_HOME、MAVEN_HOMEを作成し、bashがそれらを適切に設定することを確認したいので、$ PATHをエクスポートして、パス変数がPATH変数に正しく設定されているかどうかを確認します
-ThaSaleni

1
これはシェル依存であり、OS依存ではありません。exportこれまでBashでそのように働いていたら驚いたことでしょう。
l0b0

また、PATH変数は既にエクスポートされているため、再度エクスポートする必要はありません。
クサラナナンダ

19

次のコマンドexport $PATH=somePathが返されますnot a valid identifierが、$これはPATH変数の前にあるためです。

溶液:

export PATH=somePath



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.