Linux系统的变量
系统中有环境变量与自定变量
环境变量
环境变量是系统默认设置的参数,一般有PATH、LANG、HOME、SHELL等多种变量
通过echo $PATH 查看指定变量 或 env命令查看所有环境变量。
附:环境变量含义
PATH:执行档的搜索路径,用户使用命令时,系统会搜索PATH指向的目录路径。
SHELL:目前使用的shell是哪个程序。一般为/bin/bash。
HOME:此用户的家目录。
HISTSIZE:设置记录多少条用户输入的命令。一般为1000.
LANG:记录语系数据。
RANDOM:随机数变量,此变量用于生成0~32767之间的数。

random随机数

注意:定义变量时,只有用双引号括起才会去搜索定义中是否引用其他变量。
自定变量
自定变量就是用户使用中自己定义的变量
直接命令行 变量名=值 (此方式定义的变量不会永久保存)
注:定义自定变量的等号两边不能加空格,且变量名不能以数字开头。
通过 set 命令可查看所有变量(包含环境变量与自定变量)

PS1变量为命令提示符,指的是登录系统时,命令行的 [root@www ~]# 。设置PS1变量的值可使登入的提示符改变。
符:设置字符含义
\d :显示出 [星期 月 日]的日期格式。
\H :完整的主机名,如[www.???.XXX]。
\h :仅取主机名中第一个小数点之前的名字。
\t :显示时间,24小时制(含秒数)。
\T :显示时间,12小时制(含秒数)。
\A :显示时间,24小时制(不含秒数)。
@ :显示时间,12小时制采用am/pm样式。
\u :显示目前用户名。
\v :显示BASH版本信息。
\w :显示完整的工作目录名称。指显示的目录从根目录写起。
\W :显示当前目录名,在家目录则是以 ~ 代替。
\# :显示这是下达的第几条命令。
\$ :权限提示符,root用户时以 # 显示,其他用户用 $ 显示。
定义PS1变量

?变量使用
?变量就是打印上一执行命令的回传值,一般Linux只有出错时才会打印错误信息,执行正确是啥都不会提示(PS:除去有回显的命令,ls)
回传值为 0 则是执行过程未发生错误,发生错误就会回传错误代码,如下图。

等号两边不能加空格

变量值的修改
当仅想删除变量值中某些字符时,如下图:
#:代表最短匹配(从前删)
##:代表最长匹配(从前删)
%:最短匹配(从后删)
%%:最长匹配(从后删)
当想替换变量值的某些字符时,如下图:
/旧字符/新字符 : 斜杠之间的旧字符会被新字符替换(仅替换一次符合内容的旧字符)
//旧字符/新字符 : 斜杠之间的旧字符会被新字符替换(替换所有符合内容的旧字符)
PS:注意原变量不改变,做法应该是将改变后变量的值赋给一个变量。