linux shell编程基础 系统环境变量 PATH PS1

在linux中常见的系统环境变量有以下这几种

  • PATH
    决定了shell将到哪些目录中寻找命令或程序
  • HOME
    当前用户主目录
  • HISTSIZE 
    历史命令记录数
  • LOGNAME
    当前用户的登录名
  • HOSTNAME 
    指主机的名称
  • SHELL
    当前用户Shell类型
  • TERM
    终端环境
  • SSH_CLIENT
    当前操作环境使用ssh连接的,这里记录客户端IP
  • SSH_TTY
    ssh连接的终端时pts/1
  • USER
    当前登录的用户
  • LANGUGE  
    语言相关的环境变量,多语言可以修改此环境变量
  • MAIL 
    当前用户的邮件存放目录
  • PS1 
    基本提示符,对于root用户是#,对于普通用户是$

set 查看所有的变量
env 查看所有的环境变量

环境变量是全局变量 自定义变量是局部变量
设置环境变量 使用命令export export 变量名=变量值

下面我们来详细的讲解一下 PATHPS1 变量

  • PATH
    PATH变量:系统查找命令的路径
    举个例子当我们使用ls 命令的时候 系统会自动在PATH目录中寻找ls 命令所在的路径来调用命令 省去了我们使用绝对路径调用程序的烦恼

linux shell编程基础 系统环境变量 PATH PS1_第1张图片

众所周知 ls 命令是保存在 /usr/bin 目录下的 下面我们把 PATH 中的 /usr/bin 删除

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin

改成

PATH=/usr/local/sbin:/usr/sbin:/root/.local/bin:/root/bin

然后我们就发现我们的ls 命令不好用了 如下图 并显示命令找不到

这里写图片描述

  • PS1
    PS1变量:命令提示符设置

    什么是命令提示符呢

    [root@izuf66bc6zb0cuc0f7x9krz ~]# 这个就是命令提示符

我们先输出系统中的 PS1

[root@izuf66bc6zb0cuc0f7x9krz ~]# echo $PS1
[\u@\h \W]\$

###各个参数的作用如下

\d :代表日期,格式为weekday month date,例如:"Mon Aug1"
\H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略 
\t :显示时间为24小时格式,如:HH:MM:SS 
\T :显示时间为12小时格式 
\A :显示时间为24小时格式:HH:MM 
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

下面我们来修改一下 PS1

现在我们的命令提示符是[root@izuf66bc6zb0cuc0f7x9krz conf.d] PS1 是'[\u@\h \W]\$'

我们来把它改成'[\u@\t \w]\$ ' 然后就会发现我们的 命令提示符变成了[root@18:59:01 /etc/nginx/conf.d]#

这里写图片描述

你可能感兴趣的:(linux)