1.从命令行传参传入两个整数,整数1代表从整数几开始求和,整数2代表求和到整数几为止
#!/bin/bash
num1=$1
echo $num1
num2=$2
echo $num2
sum=0
i=0
for i in `seq $num1 $num2`
do
((sum+=i))
done
echo sum=$sum
2.打印99乘法表
#!/bin/bash
for i in {1..9}
do
for j in `seq 1 $i`
do
echo -n "$j*$i=$(($i*$j)) "
done
echo
done
3.输入年月日,计算是该年的第几天
#!/bin/bash
read -p "请输入年月日:" year month day
str1=$(($year%4))
str2=$(($year%100))
str3=$(($year%400))
if [ $str1 -eq 0 -a $str2 -ne 0 ] || [ $str3 -eq 0 ]
then
if [ $month -eq 1 ]
then
num=$(($day))
elif [ $month -eq 2 ]
then
num=$((31+$day))
elif [ $month -eq 3 ]
then
num=$((31+29+$day))
elif [ $month -eq 4 ]
then
num=$((31+29+31+$day))
elif [ $month -eq 5 ]
then
num=$((31+29+31+30+$day))
elif [ $month -eq 6 ]
then
num=$((31+29+31+30+31+$day))
elif [ $month -eq 7 ]
then
num=$((31+29+31+30+31+30+$day))
elif [ $month -eq 8 ]
then
num=$((31+29+31+30+31+30+31+$day))
elif [ $month -eq 9 ]
then
num=$((31+29+31+30+31+30+31+31+$day))
elif [ $month -eq 10 ]
then
num=$((31+29+31+30+31+30+31+31+30+$day))
elif [ $month -eq 11 ]
then
num=$((31+29+31+30+31+30+31+31+30+31+$day))
elif [ $month -eq 12 ]
then
num=$((31+29+31+30+31+30+31+31+30+31+30+$day))
fi
echo "$year年$month月$day日是该年第$num天"
else
if [ $month -eq 1 ]
then
num=$(($day))
elif [ $month -eq 2 ]
then
num=$((31+$day))
elif [ $month -eq 3 ]
then
num=$((31+28+$day))
elif [ $month -eq 4 ]
then
num=$((31+28+31+$day))
elif [ $month -eq 5 ]
then
num=$((31+28+31+30+$day))
elif [ $month -eq 6 ]
then
num=$((31+28+31+30+31+$day))
elif [ $month -eq 7 ]
then
num=$((31+28+31+30+31+30+$day))
elif [ $month -eq 8 ]
then
num=$((31+28+31+30+31+30+31+$day))
elif [ $month -eq 9 ]
then
num=$((31+28+31+30+31+30+31+31+$day))
elif [ $month -eq 10 ]
then
num=$((31+28+31+30+31+30+31+31+30+$day))
elif [ $month -eq 11 ]
then
num=$((31+28+31+30+31+30+31+31+30+31+$day))
elif [ $month -eq 12 ]
then
num=$((31+28+31+30+31+30+31+31+30+31+30+$day))
fi
echo "$year年$month月$day日是该年第$num天"
fi