Shell脚本
这里写目录标题
1.Shell脚本简介
Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 既是一种命令语言,又是一种程序设计语言。Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 解释器 种类众多,一个系统可以存在多个 shell,可以通过 cat /etc/shells 命令查看系统中安装的 shell解释器。Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
2.Shell
2.1 Shell 脚本的解释器
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
2.2 脚本的编写规范
首行描述解释器 #!/bin/bash
2.3 执行脚本的三种方式
1、bash 脚本名称 脚本参数
2、 sh 脚本名称 脚本参数
3、 ./脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】
2.4变量的声明
变量名=”值”【中间不能有空格】
变量名要求 字母或下划线或数字(开头不能是数字)构成
2.5变量的引用
使用$ 或 ${}引用变量
2.6删除变量 只读变量
删除 unset 变量名
只读 readonly 变量名
2.7字符串使用
双引号(””):内部可以使用变量
单引号(‘’):内部所有的原样输出
反引号(``):表示可执行
2.8字符串长度及截取
长度: echo ${#skill}
截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】
2.9脚本参数传递
bash 脚本名 参数1 参数2 参数3 。。。。。。
脚本内
$0 脚本名称
$1 参数1
$2 参数2
$n 参数n
$* 所有参数
$# 参数的个数
2.10算数运算符
加法计算 expr 2 + 2
乘法计算 expr 2 \* 2
2.11流程控制if
if [ $a -gt 10 ];then
代码1
elif [ $a -lt 10 ];then
代码2
else 代码3
fi
2.12关系运算符
2.13循环
For 循环
For aa in XXXX
do
循环体
done
While循环
While 条件 ;
do
循环体
done
跳出循环
跳出所有循环 break
跳出当前循环,进入下一次循环 continue
case ()
case 值 in
结果1) 结果1对应的操作;;
结果2) 结果2对应的操作;;
结果3) 结果3对应的操作;;
esac
2.14接收控制台数据
read 变量名
函数的使用
函数声明:
[function] 函数名(){
函数体
$参数1
$参数2
$参数3
}
函数调用 函数名 参数1 参数2 参数3
2.15数组
数组声明: 数组名称=(元素1 元素2 元素3 元素4)
数组的使用
单个使用 echo 数组名[角标] 【角标从0开始】
遍历数组
for var in ${my_arr[*]}
do
echo $var
done
2.16文件加载
在文件中添加 . 脚本名称 或者 source 脚本名称
#!/bin/bash
source ./test1.sh # 加载test1.sh 的文件内容