一、shell 脚本介绍:
将很多条命令放到一个文件里面,然后直接运行这个文件即可,这就是shell脚本。即shell脚本就是将连续执行的命令写成一个文件
二、shell 脚本写法
shell 脚本是纯文本文件,命令从上而下,一行一行的开始执行。shell脚本扩展名为.sh
shell 脚本第一行一定要为:
#!/bin/bash
表示使用 bash
三、shell 脚本常见语法规则
1.交互式shell 脚本
echo 表示输出
read可以读取键盘输入的字符 read后面可以接 -n -d -a 等等
-p:给出提示符。例如,"-p 请输入密码:"
#! /bin/bash
read -p "input your age and height:" age height
echo "your age=$age,your height=$height"
若权限不够需要用 chmod 命令添加权限
2.shell 脚本的数值计算
shell 仅支持整型
#! /bin/bash
echo "please input two num"
read -p "first num:" first
read -p "second num:" second
// 注意total 和等号之间不能空格
total=$(($first+$second)) // $((表达式))
echo "$first + $second = $total"
3.test 命令
test命令用于查看文件是否存在、权限等信息,可以进行数值,字符,文件三方面的测试。
如:&& 和 || 命令
cmd1 && cmd2 当cmd1 执行完并且正确,那么cmd2 开始执行;若cmd1执行错误,则cmd2不执行
cmd1||cmd2 当cmd1执行完毕并正确,那么cmd2不执行,反之cmd2执行
#! /bin/bash
echo "please input file name"
read -p "file name:" filename
// test -e 文件存在为真
test -e $filename && echo "$filename exist" || echo "filename no exist"
4.中括号[ ] 判断符
#! /bin/bash
echo "please input two str"
read -p "first:" str1
read -p "second:" str2
// 注意中括号与字符之间的空格
[ "$str1" == "$str2" ] && echo "str1==str2" || echo "str1 != str2"
5.默认变量
$0 ~ $n 表示 shell 脚本的参数 包括shell 脚本命令本身,shell 脚本命令本身为 $0
$#: # 表示最后一个参数的标号
$@: 表示$1 $2 …
#! /bin/bash
echo "file name" $0
echo "total param num:" $#
echo "whole param:" $@
echo "first param" $1
echo "second param" $2