实验四 Linux的Shell脚本(.sh文件)编写(CentOS系统)
·
一、实验要求
shell编程实验要求
1、要求有变量
2、要求有循环、判断if-else
3、要求一个简单的函数
4、变量运算
5、详细注释
二、实验内容
Shell 脚本本质就是一个文本文件,使用vim编辑器进行脚本编写。
vim 文件名.sh //编写文件脚本;
cat 文件名.sh //查看编写的文件脚本;
chmod +x ./文件名.sh //设置脚本文件的权限来允许其可执行;
./文件名.sh //执行脚本;
例1 while语句的应用:猜随机数大小。
#对100取余运算生成一个100以内的随机数
# RANDOM 为系统自带的系统变量,值为 0-32767的随机数
num=$[RANDOM%100+1]
echo "$num"
# 使用 read 提示用户猜数字
# 使用 if 判断用户猜数字的大小关系:-eq(等于),-ne(不等于),-gt(大于),-ge(大于等于),
# -lt(小于),-le(小于等于)
while :
do
read -p "计算机生成了一个 1-100 的随机数,你猜: " guess
if [ $guess -eq $num ]
then
echo "恭喜,猜对了"
exit
elif [ $guess -gt $num ]
then
echo "猜大了"
else
echo "猜小了"
fi
done

执行结果如下:

例2 for语句的应用:求sum=1+2+……100。
sum=0
for i in `seq 100`
do
sum=$[sum+i]
done
echo "总和是:$sum"
执行结果如下:

例3 if-else语句的应用:给三个数排序。
# 依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
read -p "请输入第一个整数:" num1
read -p "请输入第二个整数:" num2
read -p "请输入第三个整数:" num3
tmp=0
# 如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值
if [ $num1 -gt $num2 ];then
tmp=$num1
num1=$num2
num2=$tmp
fi
# 如果 num1 大于 num3,就把 num1 和 num3 对调,确保 num1 变量中存的是最小值
if [ $num1 -gt $num3 ];then
tmp=$num1
num1=$num3
num3=$tmp
fi
# 如果 num2 大于 num3,就把 num2 和 num3 对调,确保 num2 变量中存的是小一点的值
if [ $num2 -gt $num3 ];then
tmp=$num2
num2=$num3
num3=$tmp
fi
echo "排序后数据(从小到大)为:$num1,$num2,$num3"

执行结果如下:

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)