一,概念
1、基本格式 Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。
shell是用户与内核进行交互操作的一种接口,目前最流行的Shell称为 bash Shell。
shell也是一门编程语言(解释型的编程语言),即shell脚本(就是在用linux的shell命令编程)。
其使用的格式:代码写在普通文本文件中,通常以.sh为后缀名
一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不 同的。
执行脚本: sh hello.sh
或者给脚本添加x权限,直接执行 ./hello.sh
如:chmod +x hello.sh
./hello.sh
二,语法
1.变量 变量=值(例如A=5)
注意:等号两侧不能有空格 变量名一般习惯为大写 使用变量:$A
定义变量 A=1 查看变量 echo A输出A ,echo $A 输出1,
查看当前进程中所有变量 set
撤销变量 unset A 声明静态变量,不能unset readonly B=2
注意:变量中的值没有类型,全部为字符串。
问题:变量a=hello,以下选项哪个可以输出hello luban A、echo $a+"luban" B、echo a+luban
C、echo $aluban D、echo $a"luban" E、echo ${a}luban
答案:D和E
2、算数运算
1)用expr expr $A + $B 赋值 C=`expr $A + $B` 注意中间空格 ,即expr 和$A, $A和+ ,+和$B都要用空格隔开
示例: A=100,B=100 输出 expr $A + $B 结果是300
2)用(()) 处理
示例: 赋值 A=$((1+2)) echo $A=3
自增 count=1 ((count++)) echo $count 3)用$[] a=$[1+2] echo $a 4)用let i=1 let i++ let i=i+2
3、扫描器 read
若:read str aaaaaa
则 echo $ str aaaaa
5、流程控制
1、语法
if 条件 then 执行代码
elif 条件
then 执行代码
else
执行代码 fi
2、示例 : #!/bin/bash //这是注释
read -p "please input your name:" NAME //输入NAME,其中-p表示提示:please input your name
if [ $NAME = root ] then //当$NAME的值是root
echo "hello ${NAME},welcome!" //输出hello ${NAME},welcome
elif [ $NAME = luban ] then echo "hello ${NAME},welcome!" // elif 是else if的简写
else echo "SB,get out here! " fi //fi表示结束
注意:在shell中,上一句错误不影响执行下一句。
以下脚本执行结果: #!/bin/bash lss echo "hello"
主要注意空格![ $NAME = luban ] 之间都要空格