Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 既是一种命令语言,又是一种程序设计语言。Shell script 是一种为 shell 编写的脚本程序。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。Linux 的 Shell 解释器 种类众多,一个系统可以存在多个 shell,可以通过 cat /etc/shells 命令查看系统中安装的 shell解释器。Bash 由于易用和免费,在日常工作中被广泛使用。同时,Bash 也是大多数Linux 系统默认的 Shell。
首行描述解释器 #!/bin/bash
1、bash 脚本名称 脚本参数 2、 sh 脚本名称 脚本参数 3、 ./脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】
变量名=”值”【中间不能有空格】 变量名要求 字母或下划线或数字(开头不能是数字)构成
使用$ 或 ${}引用变量
删除 unset 变量名 只读 readonly 变量名
双引号(””):内部可以使用变量 单引号(‘’):内部所有的原样输出 反引号(``):表示可执行
长度: echo ${#skill} 截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】
bash 脚本名 参数1 参数2 参数3 。。。。。。 脚本内 $0 脚本名称 $1 参数1 $2 参数2 $n 参数n $* 所有参数 $# 参数的个数
加法计算 expr 2 + 2 乘法计算 expr 2 \* 2
if [ $a -gt 10 ];then 代码1 elif [ $a -lt 10 ];then 代码2 else 代码3 fi
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
在文件中添加 . 脚本名称 或者 source 脚本名称 #!/bin/bash source ./test1.sh # 加载test1.sh 的文件内容