$echo $PS1[\u@\h \W]$
我们可以使用env命令打印环境变量.为什么不列出PS1变量?
$env | grep PS1# No output here解决方法 因为PS1不是(通常,在您的特定情况下)环境变量.
在bash实例中设置了许多变量,您可以列出:
$setBASH=/bin/bashBASHOPTS=checkwinsize:cmdhist:…BASH_AliASES=()BASH_ARGC=()..SHLVL=1SSH_AGENT_PID=853SSH_AUTH_SOCK=/tmp/ssh-Ofupc03xWIs7/agent.795TERM=xterm-256color
但其中许多不是环境变量.例如:
$echo "$PPID"1062$env | grep PPID
您可以使用export将变量添加到环境中.所以PS1可以设置为环境变量:
$export PS1$env | grep PS1PS1=\u@\h:\w$
并且可以通过使用declare删除其导出标志来取消导出变量(这将保留变量的值,只是不导出):
$declare +x PS1$env | grep PS1$echo $PS1\u@\h:\w$
或者,更彻底地,通过取消变量:
$unset PS1$env | grep PS1
在bash中,declare可用于打印变量的标志:
$declare -p PS1declare -- PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"$export PS1$declare -p PS1declare -x PS1="${debian_chroot:+($debian_chroot)}\u@\h:\w\$"
注意变量导出后的-x设置.
总结以上是内存溢出为你收集整理的linux – 为什么env不打印PS1变量?全部内容,希望文章能够帮你解决linux – 为什么env不打印PS1变量?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)