1.变量
只读变量:readonly 变量
删除变量:unset 变量 #不可以删除只读变量
2.字符串
获取字符串长度:
1 | string="abcd" |
提取子字符串:
1 | string="hello,ling!" |
查找子字符串:
1 | string="hello ,ling!" |
3.shell数组
1 | 数组名=(值1 值2 值3.....值n) #下标从1开始,数组元素用空格隔开 |
1 | 读取数组:${数组名[下标]} |
4.注释
1 | 单行注释: #注释 |
1 | 或者: |
5.shell参数传递
脚本内获取参数的格式为:
1 | n #n 代表一个数字。其中$0代表执行的文件名 |
例如:
1 | echo "shell参数传递实例!" |
./脚本 参数1 参数2
参数处理说明:
1
2
3
4
5
6
7 # 传递到脚本的参数个数
* 以一个单字符串显示所有向脚本传递的参数
$ 脚本运行的当前进程ID号
! 后台运行的最后一个进程的ID号
@ 与$*相同,但是使用时加引号,并在引号中返回每个参数
- 显示shell使用的当前选项,与set命令功能相同
? 显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误
6.shell算数计算
表达式与运算符之间要有空格
完整的表达式要被``包围
变量之间的赋值需要空格
在做两个数的乘法时需要转义符,形如*
7.shell关系运算符
1 | -eq:检测两个数是否相等,相等返回true |
8.shell布尔运算符
1 | !:非运算 |
9.shell逻辑运算符
1 | &&:逻辑的AND |
10.shell字符串运算符
1 | =:检测两个字符串是否相等,相等返回true |
11.shell文件测试运算符
1 | -b file:检测文件是否是块设备文件,如果是,则返回true |
12.shell输入
1 | 显示变量:read #从标准输入中读取一行,并把输入行的每个字段的值指定给shell变量 |
13.shell的输出函数printf
1 | 格式:printf format-string [arguments....] # format-string为格式控制字符串,argument为参数列表 |
printf的转义序列:\a#警告字符
\b#后退
\c#抑制(不显示)输出结果中任何结尾的换行字符
\f#换页
\n#换行
\r#回车
\t#水平制表符
\v#垂直制表符
\ddd#表示1到3位数八进制的字符
\0ddd#表示1到3位的八进制字符
14.shell字符串测试
1 | =:等于则为真 |
15.shell流程控制
1 | if-else语法格式: |
1 | if else-if else语法格式: |
16.shell函数
例:
1 | demoFun(){ |
版权声明:转载请注明出处!
文章说明: 文章如有不足或者纰漏之处,欢迎留言斧正!