shell基本语法
- 一、变量
- 二、流程控制
- 总结
最近学习了shell脚本,记录一下相关语法
一、变量
变量是很重要的,是用于存储数据值的容器
变量名要遵循以下规则:
(1)只能包含字母、数字和下划线
(2)不能以数字开头
(3)不能使用shell关键字
- 定义变量
语法:var_name=value
等号之间不能有空格
- 使用变量
语法:$var_name
或者${var_name}
- 只读变量
定义变量之后 , 使用readonly 变量名
命令将变量变为只读
只读变量不能被修改
- 删除变量
变量定义之后可以删除,但是只读变量不能被删除
语法:unset 变量名
- 变量类型
shell的变量是有类型的,下面介绍常用的几种,分别是字符串、整数变量、数组变量、环境变量、特殊变量
5.1 字符串
字符串可以用单引号、也可以用双引号,但是两者是有区别的,单引号括起来的字符串输出时带有变量是无效的,会原样输出,双引号则相反
下面介绍几种字符串常用操作:
str = 'linux shell'
字符串拼接 'str'$str'str'
获取字符串长度 ${#str}
提取子字符串 ${str:start:end}
5.2 整数变量
语法:declare -i 变量名=变量值
使用declare -i 可以定义一个整数变量,如果变量值是非整数,则变量会被赋值为0
5.3 数组变量
语法:declare -A 数组名=数组列表
使用 declare -A 可以定义一个数组变量
5.4 环境变量
5.5 特殊变量
特殊变量具有特殊的含义:
常见的特殊变量有以下:
$0 表示脚本名称
$1…n 表示传递给脚本的参数
$# 表示传递给脚本的参数数量
$? 表示上一个命令的退出状态,可判断上一个命令是否执行成功
二、流程控制
- 条件控制
语法:
if 条件
then
语句
elif 条件
then
语句
else
语句
fi
if条件句不允许某一分支的语句是空
- 循环控制
2.1 for循环
语法:
for item in 字符串/列表
do
语句
done
2.2 while循环
语法:
while 条件
do
语句
done
终止循环使用 break
跳出当前循环使用 continue
- 多分支控制
语法:
case 值 in
模式)
语句
;;
*)
语句
;;
esac
;;是一个模式的结束
当值没有匹配到任何一个模式时 匹配*
总结
最后继续总结一下吧:
变量以及变量类型
流程控制包括条件控制、循环控制、多分支控制
希望对看到本文的你有帮助。
上一篇 Linux命令——压缩和解压缩 |
创作不易,记得点赞收藏哦
| 下一篇 待定 |