私はMac OSXを使っていて、ターミナルでいくつかの新しいプロンプト設定をテストしようとしています。これが私の設定です
$ echo $PS1
$ \h:\W \u\$
このプロンプトは問題なく動作します。しかし、
$ export $PS1="test"
以下のエラーが発生します
-bash: export: `\h:\W': not a valid identifier
-bash: export: `\u\$': not a valid identifier
-bash: export: `=test': not a valid identifier
なぜこのようなことが起こるのか、何か考えはありますか? .bashrcファイルはありませんが、/etc/bashrcファイルはあります
答え1
は$
現在の値を読み取る場合にのみ必要です。
export PS1="test"
答え2
エクスポート コマンドはプロンプト変数を展開し、文字列 "\h:\W \u\" をエクスポートしようとしました。これらの 3 つの部分文字列は変数名として存在しないため、エラー メッセージが表示されます。Ignacio Vazquez-Abrams が指摘したように、エクスポート コマンドの先頭の "$" を削除する必要があります。これにより、意図したとおりに PROMPT 変数がエクスポートされます。簡単に言うと、展開する PROMPT を指定することで、コマンドは間違ったものをエクスポートしようとしました。