web-dev-qa-db-ja.com

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

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

41
ThaSaleni

export $PATHを実行すると、$PATHvalueと等しい名前の変数をエクスポートしようとします( Wordの後)分割 )。つまり、export /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binのようなものを書くのと同じです。また、/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binは有効な変数名ではないため、失敗します。 やりたいことはexport PATHです。

exportdeclare -xと同等)は、Bashで変数をサブシェルで使用できるようにするだけです。

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

44
l0b0

次のコマンドexport $PATH=somePath 戻ります not a valid identifier$PATH変数の前。

解決:

export PATH=somePath

23
Kevin Crain

次のように使用する必要があります。

export PATH=$PATH:/something/bin

の代わりに:

export $PATH=$PATH:/something/bin

左側から$記号を削除するだけです。