在shell使用中,初学者对于一些基本语法不太熟悉,本人通过自己总结如下
1 if语句
echo "please input x"
read x
echo "please input y"
read y
if [ $x -gt $y ]; 判断条件的[]中,必须在[只后有空格,]之前有空格。。]只有可以有分号;,也可以没有分号
then
echo "$x dayu $y"
elif [ $x -lt $y ];
then
echo "$x xiayu $y"
else
echo "$x dengyu $y"
fi
2.加法(乘法)
sum=`expr $x + $y` 整数的计算,要加expr,并且在+的两边要有空格
echo “the result is $sum”
如果是乘法。`expr $x \* $y`需要“\”进行转译
3.保存前一个命令的返回码
[ “$x” = “$y” ]
echo $? ?可以用于保存前一个命令的返回码。正确的返回0,错误的返回1
4.for语句
total=0
for ((i=1;i<=100;i++)) for的后面是双括号(())。。一般(())的里面是用于一些计算的
do
total=`expr $total + $i`
done
echo “the result is $total ”
5.while语句
1)Total=0; num=0 在同一行,但是用分号隔开
2)total=0 num=0 在同意行,但是没有分隔符 这三种的效果是一样的
3)total=0
num=0 用两行写
while((num<100)) while也是双括号(())
do
num=`expr $num + 1`
total=`expr $total + $num`
done
6.until中,条件为真结束循环
until [ $num -ge 100 ] until是[]的进行判断,这里就不能用<了,要是-gt
do
num=`expr $num + 1`
total=`expr $total + $num`
done
7. for循环里面有if的条件判断
for((i=1;i<=10;i++)) 这对这种的,for里面容易忘记写do和done
do
if((i%2==1))
then
rcho “jishu is $i”
else
echo “oushu is $i”
fi
Done
8. case语句
read x
a=$x
case $a in
1)
echo “the num is 1”;; 每一句的最后都是有两个分号;;,这是必须的
2)
echo “the num is 2”; echo “hehhehe”;; 输出两行,并且是换行的,这两句之间用一个分号链接;
3|4)
echo “the num is 3 or 4”;; 一个条件有多个值,这个时候用“|”来隔开
*)
echo “the num is other”;; 对于其他可能出现的条件,用“*”表示
esac
9函数以及调用
add() 函数体
{
sum=`expr $x + $y`
echo “the sum is $ sum”
}
echo “please input x”
read x
echo “please input y”
read y
add $x $y 函数调用
10.脚本的调用
在脚本1中如果调用脚本2。直接在脚本1中添加一行“./script2”