shell编程(一)条件语句和循环语句

一、什么是shell编程

简单来说shell编程就是将Linux命令做成集合组成新的命令,类似于 c 语言。将库函数组合成新的模块实现新的功能,不过shell编程里面的库是Linux命令集合。

二、if 语句基本语法(#相当于 //)

# 单路判断
① if test 条件
  then
        代码块
  fi
# 双路判断

②if test 条件
 then
       代码块
 else
       代码块
 fi

#三路判断
③if test 条件
 then
       代码块
 elif
       代码块
 else
       代码块
 fi

④另一种条件判断写法
 if [ -e file ]  # 判断文件是否存在 [] 两边空格必须写,if 后必须有空格(掌握不好不要用)

     实例代码

实现功能:自动生成  .c 或者 .sh 模板文件

#!/bin/bash

# 判断文件是否存在,存在则退出
if test -f $1
then
	echo $1 is exist
	exit
fi

# 判断需要的是c文件模板还是sh模板
name=$1
# 从右到左删除 .c
str=${name%.c}
shstr=${name%.sh}

# 字符串比较的时候等号两边至少要一个空格
if test $str != $name
then
	cp ~/a.c $1
elif test $shstr != $name
then
	cp ~/lls.sh $1
else
	echo please input .c or .sh
	exit
fi
vi $1

三、循环语句

语法:①for 变量 in `seq m n`    循环 n -m+1 次

           ②dealare -i n=0          #定义一个数值为 1 的n

              while [ $n -le 100 ]    #n<=100 则循环,空格不要漏掉

           ③declare -i n=0

             until [ $n -gt 100 ]      #n>100则退出循环

实例代码(功能,计算 m 到 n 的和)

#!/bin/bash

# 判断输入是否符合标准
if test $1 -gt $2
then
	echo error input
	echo '$1 must little than $2'
	exit
fi

# 利用循环求和
sn=0
for m in `seq $1 $2`
do
	sn=`expr $sn + $m`
done

echo $1 '到' $2 '的和是' $sn

 

# 简单算法
#!/bin/bash

# 判断输入是否符合标准
if test $1 -gt $2
then
	echo error input
	echo '$1 must little than $2'
	exit
fi

# 利用求和公式求和
n=`expr $2 - $1 + 1`
s1s2=`expr $1 + $2`
sn=`expr $(($n * $s1s2)) / 2`
echo $1 '到' $2 '的和是' $sn

猜你喜欢

转载自blog.csdn.net/qq_41985711/article/details/82847903