一、什么是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