变量的定义:简单说就是让某个特定的字符串代表不固定的内容。

变量的分类:

环境变量:作用范围为当前shell进程及其子进程

本地变量: 作用范围为当前shell进程

局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)

位置变量:

特殊变量:

变量的取用:echo


如上图所示,变量取用只要用echo  然后在变量名加个$就可以了。

设定和修改变量:变量=变量内容

变量的设定规则:

  1. 变量和变量内容用等号相连

  2. 等号两边不能直接连接空格符

  3. 变量名只能是英文字母和数字,但是开头不能用数字

  4. 变量内容若有空格符可以使用双引号或者单引号将变量内容引起来

    双引号为弱引用,如特殊字符在双引号里可以保持其原本的特殊性

    单引号为强引用,这里的特殊字符仅为一般字符

  5. 可以用转义字符反斜杠\将特殊字符转义为一般字符

  6. 在一串指令中,如要引用其他的指令,可以用反单引号[` `]或者[$()]

  7. 可以用  变量="$变量名称"或者   变量=$(变量)来追加内容

  8. 要在bash的子程序里执行,需要用export来定义为环境变量

  9. 取消变量的使用   unset   变量名称

变量的查看(evn,export,set)

evn:查看环境变量以及说明

export:和evn的功能差不多,但还可以自定义变量为环境变量

set:不仅可以查看环境变量还可以查看自定义的变量

常见的环境变量:

HOME:代表用户的家目录

SHELL:代表使用的SHELL

HISTSIZE:代表可以存放多少条历史记录

MAIL:代表存放邮箱的路径

PATH:代表执行文件的存放路径

LANG:代表使用的语系

RANDOM:取随机数(0-32767)

$:代表目前shell的PID

?:上个指令执行成功与否的反馈

0:为执行成功

1-255:为执行失败

PS1:命令提示符的设定

\d:显示【星期 月  日】的日期格式

\H:完整主机名

\h:取主机名的第一个小数点之前的名字

\t:显示为24小时格式的时间[HH:MM:SS]

\T:显示为12小时格式的时间[HH:MM:SS]

\A:显示24小时格式的时间[HH:MM]

\@:显示12小时格式的时间[HH:MM]

\u:显示目前使用的帐号名

\v:显示BASH的版本信息

\w:显示完整的工作目录名称

\W:显示工作目录的基名

\#:显示下达第几个指令

\$:显示提示符

Bash环境配置:

全局配置:

/etc/profile

/etc/profile.d/*.sh

/etc/bashrc

个人配置:

~/.bash_profile

~/.bashrc