linux10--shell(一)

整理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 保存退出

你可能感兴趣的:(linux)