Bash变量包含变量名和变量值;变量名fname=变量值/home/zys/tmp/file1
1.定义变量值:用等号连接变量名和变量值
变量值不包含任何空白符(例如空格、Tab 缩进等),那么可以不使用引号;
变量值包含了空白符,那么就必须使用引号包围起来。
注:单引号' '包围变量的值时,单引号里面是什么就输出什么,即使内容中有变量和命令(命令需要反引起来)也会把它们原样输出。
双引号" "包围变量的值时,输出时会先解析里面的变量和命令,而不是把双引号中的变量名和命令原样输出。
2.使用变量值:两种形式:$variable_name 或 ${variable_name}
3.设置变量的规则:变量名由字母、数字和下划线组成(不能使用shell里的关键字)
必须以字母或者下划线开头,首字符不能是数字
转义符“\”可以将特殊字符转义为一般字符,也可用单引号实现
4.为变量追加新内容:”$variable_name ”或 ${variable_name }
5.赋值变量值
Read命令,从标准输入中读取数据并赋值给变量。格式:read [-options] [variables]
6. 设置变量属性
declare命令:-表示设置属性, +表示取消属性
7.删除变量
Unset命令:取消或删除变量,在unset命令后跟变量名
8.环境变量是操作系统内置的变量,在登陆操作操作系统后就默认存在,多用于保存重要的系统参数。环境变量可以被系统中所有的应用共享;使用env和export命令查看系统当前的环境变量
变量的作用范围:使用export命令使子进程继承父进程的变量;export命令是单向的;在新打开的Bash窗口中无法共享变量
9.特殊变量
PS1:PS1用于设置Bash的命令行提示符,如“[zys@centos7 ~]$”
只影响当前的Bash进程,重新打开Bash窗口或重启系统后,PS1恢复默认值
PS2: PS2用于换行输入命令时的提示符
$:查看当前Bash的进程号(PID)
?:返回上一个命令的状态码,0表示成功,非0表示失败或异常
10.输出重定向:
输出重定向是指命令的结果不再输出到显示器上,而是输出到其它地方,一般是文件中。
在命令后输入 “>”并且后跟一个文件名,对原文件的内容进行了“覆盖”,即清空原文件内容
在命令后输入两个 “>>”并且后跟一个文件名,表示在原文件的基础上“追加”新内容
11.输入重定向:
bc <文件名 将原来从键盘输入的数据改为从文件读取
12.history命令查看历史记录
重复执行上一条命令:在命令行中输入“!!”或“!-1”可以快速执行上一条命令
“!-n”表示执行最近的第n条命令
【Ctrl+P】或键盘的向上方向键调出最近一条命令,回车
通过命令编号执行历史命令:使用“!n ”可以快速执行编号为n的历史命令
通过命令关键字执行历史命令:使用“!cmd ”查找最近一条以cmd开头的命令并执行
Shell脚本
1.Shell脚本的执行方式:
1)设置脚本文件的可执行权限,指定脚本文件的绝对路径或相对路径直接执行
2)使用sh或bash命令执行脚本文件,把文件名作为sh或bash命令的参数
3)使用source命令或点运算符“.”执行脚本文件,后跟脚本文件名
2.算数运算:$(( 算术表达式 ))只支持整数的算术运算。运算符有“<” “>” “<=” “>=” “==” “!=”,当比较结果为真时,表达式返回1.否则返回0