我々はPS1
の値を印刷するとき、それが設定されていますなぜenvでPS1変数が表示されないのですか?
$ echo $PS1
[\[email protected]\h \W]\$
私たちは、環境変数を印刷するenv
コマンドを使用することができます。変数PS1
が表示されないのはなぜですか?
$ env | grep PS1
# No output here
我々はPS1
の値を印刷するとき、それが設定されていますなぜenvでPS1変数が表示されないのですか?
$ echo $PS1
[\[email protected]\h \W]\$
私たちは、環境変数を印刷するenv
コマンドを使用することができます。変数PS1
が表示されないのはなぜですか?
$ env | grep PS1
# No output here
PS1は環境変数ではありません(通常は特定の場合)。
は、あなたがして一覧表示することができますbashのインスタンスに設定された多くの変数があります。
$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:…
BASH_ALIASES=()
BASH_ARGC=()
.
.
SHLVL=1
SSH_AGENT_PID=853
SSH_AUTH_SOCK=/tmp/ssh-Ofupc03xWIs7/agent.795
TERM=xterm-256color
をしかし、それらの多くは、環境変数ではありません。例:
$ echo "$PPID"
1062
$ env | grep PPID
export
を使用して変数を環境に追加できます。
$ export PS1
$ env | grep PS1
PS1=\[email protected]\h:\w\$
、変数は(変数だけエクスポートされていないの値を保持します)宣言とその輸出フラグを削除することでアンエクスポートすることができます:だからPS1は、環境変数として設定することができ
$ declare +x PS1
$ env | grep PS1
$ echo $PS1
\[email protected]\h:\w\$
またはより劇的、変数をINGのunset
によって:bashで
$ unset PS1
$ env | grep PS1
、declare
変数のフラグを印刷するために使用することができる:
$ declare -p PS1
declare -- PS1="\${debian_chroot:+(\$debian_chroot)}\\[email protected]\\h:\\w\\\$ "
$ export PS1
$ declare -p PS1
declare -x PS1="\${debian_chroot:+(\$debian_chroot)}\\[email protected]\\h:\\w\\\$ "
エクスポート後に変数に-x
が設定されていることに注意してください。
私のシステムにはPS1.set | grep PS1 PS1 = '\ h:\ W \ u \ $'です。さらに、永続的に変数を環境に追加することもできます。 –
@terencehillどういう意味ですか?あなたはPS1を変数として持っていますか?はい、このシステムにもあります。環境変数として?時にはそうかもしれません。 – sorontar
私は、環境変数が、システムの起動時にロードされる単なる変数であることを意味します。 –
"set | grep PS1"コマンドを試す必要があります。 –