变量
命名规则:
只能使用英文字母、数字与下划线,首个字符不能以数字开头中间不能有空格,允许使用下划线不能使用标点符号不能使用 bash 里的关键字(可用help命令查看保留关键字)
定义与使用变量:
# 定义常规变量[root@xiaojw ~]# name="leo"[root@xiaojw ~]# echo $nameleo# 定义只读变量:不能被更改和删除[root@xiaojw ~]# name=tom[root@xiaojw ~]# readonly name[root@xiaojw ~]# unset name-bash: unset: name: cannot unset: readonly variable# 删除变量[root@xiaojw ~]# age=18[root@xiaojw ~]# echo $age18[root@xiaojw ~]# unset age[root@xiaojw ~]# echo $age
变量类型
字符串:name="leo"
拼接字符串:greeting="hello,"$name"!"
数组:array=(v1, v2, v3)
取数组中某个值:value=${array}[n]
单独赋值:array[n]=value
条件分支
if
if conditionthencommand1command2……fi
循环
for
for var in 取值范围;docommand1command2……done
while
while condition;docommanddone
bash 的基本使用
read
用于从终端或者文件中读取输入的内部命令读取整行输入每行末尾的换行符不被读入使用:
从标准输入读取输入并赋值给变量
read var
从标准输入读取多个内容
read var1 var2 var3
不指定变量(默认赋值给 REPLAY)
read
脚本参数传递
$0
:脚本名称$1-$n
:获取参数$#
:传递到脚本的参数个数$$
:脚本运行的当前进程 id 号$*
:以一个单字符串显示所有向脚本传递的参数$?
:显示最后命令的退出状态;0 表示没有错误,其他任何值表明有错误算术运算
[root@xiaojw ~]# a=10[root@xiaojw ~]# b=20# 加法[root@xiaojw ~]# expr $a + $b30# 减法[root@xiaojw ~]# expr $a - $b-10#乘法[root@xiaojw ~]# expr $a * $b200# 除法;结果只保留整数部分[root@xiaojw ~]# expr $a / $b0# 取余[root@xiaojw ~]# expr $a % $b10# 复制a=$b# 相等[ $a == $b ]# 不等于[ $a != $b ]# -eq:检测相等[ $a -eq $b ]# -ne:检测不相等[ $a -ne $b ]# -gt:检测左边是否大于右边的值[ $a -gt $b ]# -lt:检测是否小于[ $a -lt $b ]# -ge:检测是否大于等于[ $a -ge $b ]# -le:检测是否小于等于[ $a -le $b ]
学习资料
阮一峰-Bash 脚本教程
如果觉得《01-10 Linux-bash编程》对你有帮助,请点赞、收藏,并留下你的观点哦!