变量的定义:简单说就是让某个特定的字符串代表不固定的内容。
变量的分类:
环境变量:作用范围为当前shell进程及其子进程
本地变量: 作用范围为当前shell进程
局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)
位置变量:
特殊变量:
变量的取用:echo
如上图所示,变量取用只要用echo 然后在变量名加个$就可以了。
设定和修改变量:变量=变量内容
变量的设定规则:
变量和变量内容用等号相连
等号两边不能直接连接空格符
变量名只能是英文字母和数字,但是开头不能用数字
变量内容若有空格符可以使用双引号或者单引号将变量内容引起来
双引号为弱引用,如特殊字符在双引号里可以保持其原本的特殊性
单引号为强引用,这里的特殊字符仅为一般字符
可以用转义字符反斜杠\将特殊字符转义为一般字符
在一串指令中,如要引用其他的指令,可以用反单引号[` `]或者[$()]
可以用 变量="$变量名称"或者 变量=$(变量)来追加内容
要在bash的子程序里执行,需要用export来定义为环境变量
取消变量的使用 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