1.从终端输入一个整数,判断是奇数还是偶数
read -p "请输入一个整数判断是奇数还是偶数" num
if [ $((num%2)) -eq 0 ]
then
echo "$num是偶数"
elif [ $((num%2)) -ne 0 ]
then
echo "$num是奇数"
fi
2.输入三个整数a, b, c。要求a中存储最小值,c中存储最大值
read -p "输入三个数判断最小值和最大值" a b c
if [ $a -gt $b ]
then
temp=$a
a=$b
b=$temp
fi
if [ $a -gt $c ]
then
temp=$a
a=$c
c=$temp
fi
echo a=$a
if [ $c -lt $a ]
then
temp=$c
c=$a
a=$temp
fi
if [ $c -lt $b ]
then
temp=$c
c=$b
b=$temp
fi
echo c=$c
3.输入一个成绩,返回是(0,100);若成绩>=90输出A,>=80输出B, >=60输出C,小于60输出D
read -p "请输入成绩0~100" num
if [ $num -ge 100 ]
then
echo "输入错误!"
elif [ $num -ge 90 ]
then
echo "A"
elif [ $num -ge 80 ]
then
echo "B"
elif [ $num -ge 60 ]
then
echo "C"
elif [ $num -lt 60 ]
then
echo "D"
fi
脚本中存有管理员名字和密码如下:name=admin passwd=12345678
要求从终端输入账户和密码:1.若账户不正确,输出用户名错误。2.若密码不正确,输出密码错误3.若均正确输出登录成功
#!/bin/bash
name=admin
password=12345678
read -p "请输入用户名:" a
read -p "请输入密码:" b
if [ -z "$a" ]
then
echo "用户名为空"
elif [ -z "$password" ]
then
echo "密码为空"
elif [ "$name" != "$a" ]
then
echo "用户名错误!"
elif [ "$password" != "$b" ]
then
echo "密码错误!"
elif [ "$name" == "$a" ]
then
if [ "$password" == "$b" ]
then
echo "登录成功!"
fi
fi
实现四则运算,例如输入8+4,输出12。8-4输出4....
#!/bin/bash
read -p "请输入要计算的式子" a tp b
echo $tp
case $tp in
+)
echo $a+$b=$((a+b))
;;
-)
echo $a-$b=$((a-b))
;;
/)
echo $a/$b=$((a/b))
;;
*)
echo $a*$b=$((a*b))
;;
esac
写一个脚本,要求提示输入软件名。然后提示是否确认下载该软件如果确认下载,输入 y 或者 yes 或者Yes 开始下载如果输入其他则不下载
read -p "请输入软件名:" name
read -p "是否确认下载该软件?" choice
case $choice in
y | yes | Yes)
echo "开始下载$name"
;;
*)
echo "取消下载$name"
;;
esac
打印99乘法表
1x1= 1
2x1=2 2x2=4
3x1=3 3x2=6 3x 3= 9
#for循环
for i in $(seq 1 9)
do
for j in $(seq 1 $i)
do
echo -n \ $j*$i=$((i*j))
done
echo " "
done
#while循环
i=1
j=1
while (( i<=9 ))
do
# echo $i
j=1
while (( j<=i ))
do
echo -n \ $j*$i=$((i*j))
((j++))
done
((i++))
echo ""
done
打印以下图形。在以下图形的基础上修改,要求从终端输入金字塔层数,打印出对应层数金字塔
#!/bin/bash
#for循环
read -p "请输入金字塔层数:" n
for i in $(seq 0 $n) #0~层数
do
for j in $(seq 0 $((n-i-1))) #打印空格数 n-层数-1
do
echo -n "0"
done
for k in $(seq 1 $((2*i+1))) #*个数是奇数个 1~2n+1个
do
echo -n "*"
done
echo " " #换行
done
#while循环
i=0
while ((i<=n))
do
j=0
while ((j<=n-i-1))
do
echo -n " "
((j++))
done
k=1
while ((k<=2*i+1))
do
echo -n "*"
((k++))
done
echo " "
((i++))
done
从终端输入字符串,将字符串倒置存储。例如输入abcde,结果为edcba
read -p "请输入字符串:" val
len=${#val}
#for循环
for((i=len-1;i>=0;i--))
do
str1=${val:i:1} #从左往右字符串的第i位开始取1位
str2=$str2$str1 #拼接字符串
done
echo $str2
#while循环
i=len-1
while ((i>=0))
do
str1=${val:i:1}
str2=$str2$str1
((i--))
done
echo $str2