shell 学习
好早之前记录的东西了,放出来罢
先按照菜鸟的章节进行划分toc,因为有一定linux命令基础所以可能会增删一些内容
Overall
- 运行方法:
1 | sh ./xxx.sh #将文件名作为sh解释器的参数 |
- 用 #! 说明执行用的解释器,如
1 | !/bin/sh |
变量
定义变量
1 | a="aaaa" |
命名只能用字母数字下划线,且不能以数字开头
“=”两边不能有空格
双引号和单引号等价
只读变量
在定义变量后使用 readonly * ,如:
1 | a="Bruce" |
字符串
-
单引号。
单引号中的字符会原样输出,不能使用变量或转义字符
不能出现单独一个单引号,但可以成对出现来对字符串进行拼接 -
双引号。
双引号中可以使用变量和转义字符
- 获取字符串长度:
1 | echo ${#string} |
- 提取字串
1 | echo ${sting1:4} #从左到右,开头下标为0 |
- 查找子串
1 | string="runoob is a great site" |
数组
- array_name=(v0 v1 v2 …)
- array_name=(
v0
v1
v2
…
)- array_name[0]=v0
array_name[1]=v1
…
使用变量
使用变量需要在变量名前添加dollar符:
1 | a_price=1 |
其中花括号可加可不加,但为了能让解释器正确识别变量,建议都加上花括号
删除变量
unset,如
1 | a_price=1 |