一、创建脚本格式
定义bash脚本:#!/bin/bash 编写执行语句 保存并退出 设置权限:chmod +x 脚本路径 运行脚本: 1、当前路径调用方式: ./脚本名(当前目录下) 2、普通调用方式: sh 脚本名 3、指定b shall执行:/bin/bash 脚本名 (该方式等同于 ./的方式) 或bash 脚本名 示例:
#!/bin/bash
echo "Hello BShall"
二、BASH Shall语法
打印 : echo “需要打印的内容”输入 :read 变量名变量的定义 (等号两边不能有空格): a=1 、b=“abc”、arr=(1 2 3 4) //arr定义的是数组,赋值需要将每个值之间保留一个空格引用赋值 :b=$a c=${b}引用命令执行结果赋值 :a=`ls -l` // ` 为反引号变量的运算 :b=`expr $a + 11` 、 b=$(( $a + 1 )) 、b=$[ $a +1 ] //每个运算位和运算符之间都保留一个空格判断语句 ( if、then、elif、else、fi):if [条件] ;then 执行语句 ; elif [条件] 执行语句 ; else 执行语句 ; fi循环语句 (while、do、done):while [条件] do 执行语句; done快捷注释命令 :%s/^/#/g数值型 :大于: -gt、 小于: -It、等于:-eq、或==、不等于-ne字符串型 :等于: =或==、不等于: !=、是否为空:-z 变量名TMOUT :在用户输入空闲一段时间后自动断开 示例:
#!/bin/bash
TMOUT= 3
echo "What is your name?"
echo "You only have $TMOUT seconds to answer!"
read name
if [ $? -eq 0 ] ; then
echo "Your name is $name "
else
echo "Timed out!"
exit 1
fi
Shell脚本自定义函数 :[function] 函数名(){函数体;}可以有return语句,但只能return值类型参数的传递 :函数内部的参数列表只取决于调用函数时的参数列表,与脚本的参数无直接影响字符串分割(awk) :$字符串 | awk -F ‘设定分割项’ ‘{print $选择显示项、$选择显示项}’浮点数运算(bc ):$(echo “[scale:保留小数位]$a 运算符 $b” | bc)
Shell文件运算符