• 『忘了再学』Shell基础 — 14、环境变量(二)


    提示:

    在Linux系统中,环境变量分为两种。一种是用户自定义的环境变量,另一种是系统自带的环境变量。

    而在系统自带的环境变量中,PATH环境变量、PS1环境变量、LANG语系变量需要进行说明一下。

    本篇文章主要说明系统自带的环境变量中的PS1环境变量。

    1、PS1变量的作用

    PS1变量:命令提示符设置。也就是[root@localhost ~]# 内容的设置。

    PS1是一个很有意思的变量,是用来定义命令行提示符的,可以按照我们自己的需求来定义自己喜欢的提示符。

    2、PS1变量的查看

    • 直接查看PS1变量,如下:
      shell
      [root@localhost ~]# echo $PS1
      [\u@\h \W]\$
    • 通过set命令查看,如下图:
      image

      SP2变量是定义换行之后的命令提示符的显示。

    2、PS1可以支持的选项

    我们先解释一下系统命令提示符的组成[root@localhost ~]# ,我们之前说过root位置代表当前登陆的用户,localhost位置代表当前主机名的简写主机名,~位置表示当前所在目录,第四列就是命令提示符。

    而通过PS1变量我们得知上面的显示组成是如下选项:[\u@\h \W]\$

    所以下面我们罗列出PS1支持的选项:

    • \d:显示日期,格式为星期 月 日
    • \H:显示完整的主机名。如默认主机名localhost.localdomain
    • \h:显示简写主机名。如默认简写主机名localhost
    • \t:显示24小时制时间,格式为HH:MM:SS
    • \T:显示12小时制时间,格式为HH:MM:SS
    • \A:显示24小时制时间,格式为HH:MM
    • \@:显示12小时制时间,格式为HH:MM am/pm
    • \u:显示当前用户名。
    • \v:显示Bash的版本信息。
    • \w:显示当前所在目录的完整名称。
    • \W(大写):显示当前所在目录的最后一个目录。
    • \#:执行的第几个命令。
    • \$:提示符。如果是root用户会显示提示符为#,如果是普通用户会显示提示符为$

    注意:

    在PS1变量中,如果是可以解释的符号,如\u\h等,则显示这个符号的作用。如果是不能解释的符号,如@或“空格”,则原符号输出。

    总结:

    shell
    # 默认的提示符显示
    # [用户名@简写主机名 所在目录最后一级] 提示符
    [root@localhost ~ ] # echo $PS1
    [\u@\h \W]\$

    3、PS1环境变量的配置

    其实我们在使用Linux系统的时候,还是比较习惯的默认的系统命令提示符的配置,也就是PS1变量的默认配置,一般我们是不做任何修改的,因为我们习惯了,修改了之后你会不舒服。如有需要,则看一下。

    设置PS1环境变量,如下:

    shell
    #修改提示符为
    #[用户名@当前时间 当前所在完整目录] 提示符
    [root@localhost ~ ] # PS1='[\u@\t \w]\$ (空格)'
    # (空格)是因为习惯,看着舒服,不是必须。
    
    #切换下当前所在目录
    #因为家目录是看不出来区别的
    [root@04:46:40 ~ ] # cd /usr/local/src/
    [root@04:47:29 /usr/local/src] #
    #提示符按照我们的设计发生了变化

    这里一定要注意,PS1变量的值要用单引号包含,因为需要把PS1变量的选项中的特殊符号转变成普通的字符串(主要是$符号),否则设置不生效。系统默认也是单引号设置的,你照着写就可以了。

    扩展:再举个例子。

    shell
    #可以同时给SP1设置更多的选项
    [root@localhost ~ ] # PS1='[\u@\@ \h \# \W]\$ '
    [root@04:53 上午 localhost 31 src] #
    
    #\@:显示12小时制时间,格式为HH:MM am/pm。
    #\#:会显示执行了多少个命令。

    PS1变量可以自由定制,不过说实话,默认的提示符已经使用习惯了,如果换一个还是非常别扭的,推荐默认的提示符就很好。

    4、总结

    我们上边在命令行中直接定义PS1变量的值是临时生效的,一旦重启电脑就会消失,如果需要永久生效,需要写入到对应的配置文件中的。

    对应的配置文件为/etc/bashrc,该文件也是一个环境变量的配置文件。

    如下图:

    image

    注意看图中SP1变量的配置,是加双引号的,需要在\$之前再加上一个\,才能正常显示\$


    __EOF__

  • 本文作者: 繁华似锦的博客
  • 本文链接: https://www.cnblogs.com/liuyuelinfighting/p/16287756.html
  • 关于博主: 评论和私信会在第一时间回复。或者直接私信我。
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
  • 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。
  • 相关阅读:
    02.Vue2.x Vue模版语法
    C++day7
    Matlab:Matlab编程语言学习之变量&常量/数据类型的简介、技巧总结案例应用之详细攻略
    ZK和redis中是否会发生脑裂问题?
    自制操作系统系列(四):进入64位模式
    带你走进不一样的策略模式
    机器学习第六课--朴素贝叶斯
    Java跨平台原理
    基于通用LLM的一次测试用例自动生成的实验
    flutter发布android
  • 原文地址:https://www.cnblogs.com/liuyuelinfighting/p/16287756.html