shell提示符的基本使用规则及解决异常显示为-bash-4.1$的问题

什么是shell提示符

位于shell终端开头处始终会显示一包含主机名、用户名、当前路径或其他信息的字符串,这个字符串被称作shell提示符。默认的bash shell提示符是美元符号($),这个符号表明shell在等待用户输入,但也可以自行修改shell提示符。

不同的Linux发行版采用不用格式的shell提示符。在Ubuntu上,bash shell提示符通常为“root@user-desktop:~$”,在CentOS上,[root@user-desktop home]。用户可自行配置提示符以显示当前操作环境的基本信息。

shell提示符的配置方式

在Linux系统中提供了两个环境变量用于对shell提示符的格式进行配置:

  • PS1:控制默认shell提示符的格式
  • PS2:控制后续shell提示符的格式

shell在首次输入数据条目是使用默认的PS1提示符。输入一个需要其他信息的命令时,shell会显示由PS2环境变量指定的后续命令行提示符。可以用echo命令查看当前的提示符命令。

root@myuser-OpenStack-Nova:~# echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
root@myuser-OpenStack-Nova:~# echo $PS2
>

shell使用特殊字符在命令提示符中标记元素。下表列出了在提示字符串中使用的特殊字符。

bash shell提示符字符
字符描述
\a报警字符
\d“日 月 年”格式显示的日期
\eASCII转义字符
\h本地主机名(FQDN)
\H完全限定域名
\jshell当前管理的任务数
\lshell的终端设备名中的基名
\nASCII换行符
\rASCII回车符
\sshell的名称
\t24小时制HH:MM:SS格式的当前时间
\T12小时制的HH:MM:SS格式的当前时间
\@12小时制am/pm格式的当前时间
\u当前用户的用户名
\vbash shell的版本
\Vbash shell的发行版本
\w当前的工作目录
\W当前工作目录的基名(basename)
\!这个命令在bash shell历史记录中的位置
\#这个命令在当前命令行的位置
\nnn与八进制数nnn对应的字符
\\反斜线(\)
\[开始一个控制字符的序列
\]结束一个控制字符的序列

-bash-4.1$提示符的异常产生原因与解决方法

当用户配置文件被误删或者缺失时,往往会造成shell提示符显示为-bash-4.1$的现象。在缺省环境下,环境变量PS1被置为缺省值“\s-\v”。因此可手动在用户目录(~)下创建一个名为.bashrc的文件,在其中填写:

export PS1=[\u@\h \W]\$

或从其它用户目录下复制同名文件,并用source命令执行生效。示例中的格式控制符为CentOS格式的,用户也可通过重复上述操作自行切换为其它格式。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值