整理shell
shell是一个命令语言解释,拥有自己一系列的shell指令集,同时shell还能被系统中其他进行进行所调用。用户使用linux操作系统过程中,在提示符下输入的命令都由shell先解释后传给linux核心。
shell的变量:shell脚本中变量,可以任何时候通过赋值来创建。甚至赋值操作(=)右边为空也可以
语法:
变量名=
注意:赋值操作符“=”两边必须不能有空格。
例如:
新建一个shell脚本
# vi /shell/file1.sh
--------------------
#!/bin/bash
echo "hello"
echo "world"
var1=hello
var2=world
--------------------
read ---从键盘输入的值来控制脚本运行
read 变量
例如:
# read name
# echo a
# 2
# echo $a
# 2
--------------------
数值运算
shell不支持数字变量,所有变量都被作为字符串来处理,但是有时是需要使用变量参与数学运算的
参与运算的操作符有“+”加、“-”减、“*”乘、“/”除,因为“*”乘符号同时具有通配符的作用,所有“*”符时需要在前面增加转义符号“\”。例如:expr 3\* 4
该运算符号两边必须有空格
例如:
--------------------
# expr 100 + 300
400
--------------------
# VAL1=300
# VAL2=3
# expr $VAL1 / $VAL2
100
# expr $VAL1 \* $VAL2
900
--------------------
脚本流程分支结构
if结构
if(判断语句)
then
fi
例如:vi file2.sh
-------------------
#!/bin/bash
echo -n "donyou understant?(1/0)"
read name
if test $name -eq 1
then
echo "good!"
fi
:wq 保存退出
-------------------
case .....esca结构 case 变量 in value1) echo 语句 ;; value2) echo 语句 ;; value3) echo 语句 ;; value*) echo 语句 ;; esac 例如:vi file3.sh ----------------- #!/bin/bash echo -n "entera word:(good bad)" read val case $val in good) echo "100" ;; bad) echo "50" ;; *) echo "it is not a good nor a bad ;; esac :wq 保存退出