Shell编程总结
0.Shell 脚本的解释器
/bin/sh /bin/bash /sbin/nologin /bin/dash /bin/tcsh /bin/csh
- 脚本的编写规范
首行描述解释器 #!/bin/bash - 执行脚本的三种方式
1、bash 脚本名称 脚本参数
2、 sh 脚本名称 脚本参数
3、 ./脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】 - 变量的声明
变量名=”值”【中间不能有空格】 变量名要求 字母或下划线或数字(开头不能是数字)构成 变量的引用 使用$ 或 ${}引用变量 删除变量 只读变量 删除 unset 变量名 只读 readonly 变量名
4.字符串使用
双引号(””):内部可以使用变量 单引号(‘’):内部所有的原样输出 反引号(``):表示可执行
5.字符串长度及截取
长度: echo ${#skill} 截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】
6.脚本参数传递
`bash 脚本名 参数1 参数2 参数3 。。。。。。 脚本内 $0 脚本名称 $1 参数1 $2 参数2 $n 参数n $* 所有参数 $# 参数的个数`
7.文件加载
在文件中添加 . 脚本名称 或者 source 脚本名称
#!/bin/bash source ./test1.sh # 加载test1.sh 的文件内容
shell语法
算数运算符 加法计算 `expr 2 + 2 ` 乘法计算 `expr 2 \* 2 ` 流程控制if if [ $a -gt 10 ];then 代码1 elif [ $a -lt 10 ];then 代码2 else 代码3 fi 关系运算符 大于 小于 大于等于 小于等于 等于 不等于 -gt -lt -ge -le -eq -ne 循环 For 循环 For aa in XXXX do 循环体 done While循环 While 条件 ; do 循环体 done 跳出循环 跳出所有循环 break 跳出当前循环,进入下一次循环 continue case () case 值 in 结果1) 结果1对应的操作;; 结果2) 结果2对应的操作;; 结果3) 结果3对应的操作;; esac 接收控制台数据 read 变量名 函数的使用 函数声明: [function] 函数名(){ 函数体 $参数1 $参数2 $参数3 } 函数调用 函数名 参数1 参数2 参数3 数组 数组声明: 数组名称=(元素1 元素2 元素3 元素4) 数组的使用 单个使用 echo 数组名[角标] 【角标从0开始】 遍历数组 for var in ${my_arr[*]} do echo $var done