什么是shell脚本
Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
Shell脚本的规则
Shell和python都是弱语言
变量的规则
1.定义变量(和java不同无需要类型)
变量名=值
2.shell定义变量的规则:
1: 等号两边不能有空格
2:定义特殊的变量需要用单引号或者双引号结合
3:定义linux命令需要用反单引号
3.区分单引号和双引号的不同和相同点
双引号中有$变量名,输出的是变量名对应的变量值
单引号中有$变量名,输出的是$变量名
1.(重点)定义linux命令需要用反单引号
例如:dir=`pwd` echo dir
4.脚本的格式
1.脚本的格式:脚本名称是使用 .sh 结尾的
5.脚本的起始格式
1.第一行可写可不写
#!/bin/bash
6.案例:
7.脚本的手动输入的格式
1:输入语句用:read -p "描述"
2:Shell输出值:echo $变量名
注意点:read可以传递多个数据 read –p”name and passwoed”name password
超过的部分都填充在最后一个变量上
8.脚本的调用(注意在创键完文件的时候 必须要用chmod 777 文件 的命令来给文件授权否则无法执行)
方式1:./脚本名.sh(权限的问题)
方式2: sh 脚本名.sh
9.参数传递
1.参数传递:指的是向.sh文件中传递数据
2.格式:sh或./ 脚本文件名.sh 参数
$1:接收第一个参数~~$n
$n: 文件名称
$@: 所有参数 s
$#: 参数个数 $0
注意:0:代表文件名称、@:代表所有的参数、#:代表一传入多少个参数
10.比较运算符和逻辑运算符
1.比较运算符(数字)
注意:重点这些脚本的命令
-eq 比较是否相等 equal
-ne 比较不相等 not equal
-gt 比较大于 greater than
-ge 比较大于等于 greater equal
-lt 比较小于 less than
-le 比较小于等于 less equal
2.比较运算符(字符串)
== 比较是否相等
!= 比较不相等
加一操作:((i++)) ((i+=1))
加n操作:s=$(($s+$i)) s=$[$s+$i] ((s=$s+$i))
3.逻辑运算符(与或非)
-a 逻辑与 -o逻辑或 !逻辑非
and or
11.if语句
1.单挑件语句格式:
注意:(重点:if后必须空格并且中括号中两边也要必须有空格、结尾要以fi结束)
if [ 条件 ]
then
语句
else
语句
fi
read -p "input name and password:" name password
if [ "$name" == "admin" -a "$password" == "123" ]
then
echo "true"
else
echo "false"
fi
注意点:
1: if后面有空格, 2:条件两边有空格, 3:if条件里面存在变量,需要$,而且变量两边需要双引号, 4:fi是结束标识