bashでexport $PATH
を実行すると、エラー
。なぜですか?
コメント
回答
export $PATH
を実行すると、値ivid = “と等しい名前の変数をエクスポートしようとします。 $PATH
の22d65ef2e6 “>
(単語分割の後)。つまり、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
です。
export
(declare -x
と同等)は、変数をサブシェル。
変数の値を安全かつ読みやすく出力するには、printf %q "$PATH"
を使用します。
コメント
- 基本的にいくつかの変数JAVA_HOME、MAVEN_HOMEを作成し、bashがそれらを正しく設定していることを確認したいので、$ PATHをエクスポートして、パス変数がPATH変数に正しく設定されているかどうかを確認します
- これはシェルに依存し、OSに依存しません。
export
がBashでこのように機能した場合は驚きます。 - さらに、PATH変数すでにエクスポートされており、する必要はありません再度エクスポートされます。
回答
次のコマンドexport $PATH=somePath
not a valid identifier
が返されます。これは、PATH
変数の前の$
が原因です。
解決策:
export PATH=somePath
コメント
- それ私の質問に正確に答えるものです。ありがとうケビン
回答
次のように使用する必要があります:
export PATH=$PATH:/something/bin
代わりに:
export $PATH=$PATH:/something/bin
左側から$
記号を削除するだけです手側。
回答
既存のPATH変数に$ PATHを追加する必要があった可能性がありますか?
export PATH=$PATH:/something/bin
コメント
- OK、これは質問と同じボールパークにありますが、左側のフィールドにあります。
$
は「の値」です。 '変数PATH
をエクスポートし、その値にアクセスしないため、'export PATH
なし$
。