tux*_*dna 7 linux bash environment-variables
当我们打印它的值时PS1,它被设置:
$ echo $PS1
[\u@\h \W]\$
Run Code Online (Sandbox Code Playgroud)
我们可以使用env命令来打印环境变量.为什么不列出PS1变量?
$ env | grep PS1
# No output here
Run Code Online (Sandbox Code Playgroud)
sor*_*tar 10
因为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
Run Code Online (Sandbox Code Playgroud)
但其中许多不是环境变量.例如:
$ echo "$PPID"
1062
$ env | grep PPID
Run Code Online (Sandbox Code Playgroud)
您可以使用将变量添加到环境中export.所以PS1可以设置为环境变量:
$ export PS1
$ env | grep PS1
PS1=\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)
并且可以通过使用declare删除其导出标志来取消导出变量(这将保留变量的值,而不是导出):
$ declare +x PS1
$ env | grep PS1
$ echo $PS1
\u@\h:\w\$
Run Code Online (Sandbox Code Playgroud)
或者,通过unset变量更彻底地:
$ unset PS1
$ env | grep PS1
Run Code Online (Sandbox Code Playgroud)
在bash中,declare可以用来打印变量的标志:
$ declare -p PS1
declare -- PS1="\${debian_chroot:+(\$debian_chroot)}\\u@\\h:\\w\\\$ "
$ export PS1
$ declare -p PS1
declare -x PS1="\${debian_chroot:+(\$debian_chroot)}\\u@\\h:\\w\\\$ "
Run Code Online (Sandbox Code Playgroud)
注意-x导出后的变量集.
| 归档时间: |
|
| 查看次数: |
1022 次 |
| 最近记录: |