- 什么是shell脚本
在终端上一条一条命令输入很麻烦,使用一种文件,将多个命令放入,执行文件即可,这就是shwll脚本。
shell脚本提供数组,循环,条件判断等功能,shell脚本一般由linux运维工程师或者系统管理员掌握。
- shell脚本是一个纯文本文件,命令从上往下执行。
shell脚本扩展名.sh
- shell脚本开头要以如下格式
#!/bin/bash
- echo输出字符
echo"hello world"
改变文件可执行权限
chmod 777 my.sh
- 交互式shell脚本案例,输入姓名,让后输出,例子:
#!/bin/bash
echo"input your name "
read name
echo"your name is " $name
- read -p读取之前可以输出提示符
- shell脚本支持整形,所以可以用数值计算
shell仅仅支持整形,$(数值表达式)
- cmd1 && cmd2,解释为当cmd1 执行正确,然后继续执行cmd2
- cmd1 || cmd2,解释为当cmd1执行正确,然后跳过cmd2
- test -e filename命令,查看目录文件是否存在,如果为真,返回1
- test string1=string2,假如为真,输出为1
- 中括号[]判断符,中括号里面只能输入==或者!=
- $0~$n,用来表示脚本参数,脚本本身用$0表示
- $#用来表示脚本输入最后一个参数符号
@用来表示$1,$2,$3.....
- if条件判断
if [ cmd1] :them
//要做的事情
elif [cmd2]:then
//要做的事情
fi
- case条件判断
case $1 in
"第一个参数内容")
//用执行的程序段
;; //表示程序块结束
"第二个参数内容")
//用执行的程序段
;; //表示程序块结束
"*")
//用执行的程序段
;; //表示程序块结束
esac
- shell脚本函数
function fname()
{
//函数内容
}
- 调用脚本函数,直接用函数名,
如fname
- shell循环结构
1.
while(条件)
do
//循环内容
done
2.
until[条件]
do
//循环内容
done
3.
for var in cond1, cond2...
do
//循环内容
done
4.
for((初始值;限制值;执行步长))
do
//循环内容
done
例如,
for((i=0;i<10;i++))
do
echo"i=$i"
done
------by john
浙公网安备 33010602011771号