shell编程100例 第二周5题

1,输入三个数并进行升序排序

#!/bin/bash
#依次提示用户输入 3 个整数,脚本根据数字大小依次排序输出 3 个数字
read -p “请输入一个整数:” num1
read -p “请输入一个整数:” num2
read -p “请输入一个整数:” num3
#不管谁大谁小,最后都打印 echo “ n u m 1 , num1, num1,num2,$num3”
#num1 中永远存最小的值,num2 中永远存中间值,num3 永远存最大值
#如果输入的不是这样的顺序,则改变数的存储顺序。

if [ $num1 -gt n u m 2 ] ; t h e n t m p = num2 ];then tmp= num2];thentmp=num1
num1= n u m 2 n u m 2 = num2 num2= num2num2=tmp
fi
#如果 num1 大于 num2,就把 num1 和和 num2 的值对调,确保 num1 变量中存的是最小值
if [ $num1 -gt n u m 3 ] ; t h e n t m p = num3 ];then tmp= num3];thentmp=num1
num1= n u m 3 n u m 3 = num3 num3= num3num3=tmp
fi
#如果 num1 大于 num3,就把 num1 和 num3 交换,确保 num1 变量中存的是最小值
if [ $num2 -gt n u m 3 ] ; t h e n t m p = num3 ];then tmp= num3];thentmp=num2
num2= n u m 3 n u m 3 = num3 num3= num3num3=tmp
fi
#如果 num2 大于 num3,就把 num2 和 num3 交换,确保 num2 变量中存的是小一点的值
echo “排序后数据(从小到大)为: n u m 1 , num1, num1,num2,$num3”

2,石头、剪刀、布游戏

#!/bin/bash

game=(石头 剪刀 布)
num= [ R A N D O M c o m p u t e r = [RANDOM%3] computer= [RANDOMcomputer={game[$num]}
#通过随机数获取计算机的出拳
#出拳的可能性保存在一个数组中,game[0],game[1],game[2]分别是 3 中不同的可能

echo “请根据下列提示选择您的出拳手势”
echo “1.石头”
echo “2.剪刀”
echo “3.布”

read -p “请选择 1‐3:” person
case $person in
1)
if [ $num -eq 0 ]
then
echo “平局”
elif [ $num -eq 1 ]
then
echo “你赢”
else
echo “计算机赢”
fi;;
2)
if [ $num -eq 0 ]
then
echo “计算机赢”
elif [ $num -eq 1 ]
then
echo “平局”
else
echo “你赢”
fi;;
3)
if [ $num -eq 0 ]
then
echo “你赢”
elif [ $num -eq 1 ]
then
echo “计算机赢”
else
echo “平局”
fi;;
*)
echo “必须输入 1‐3 的数字”
esac

3,编写脚本,显示进度条

#!/bin/bash

jindu(){
while :
do
echo -n ‘#’
sleep 0.2
done
}
jindu &
cp -a $1 $2
killall $0
echo “拷贝完成”

4,99 乘法表
#!/bin/bash
#打印 9
9 乘法表
for i in seq 9
do
for j in seq $i
do
echo -n " j ∗ j* ji=$[i*j] "
done
echo
done

5,编写批量修改扩展名脚本
#!/bin/bash
#编写批量修改扩展名脚本,如批量将 txt 文件修改为 doc 文件
#执行脚本时,需要给脚本添加位置参数
#脚本名 txt doc(可以将 txt 的扩展名修改为 doc)
#脚本名 doc jpg(可以将 doc 的扩展名修改为 jpg)

for i in "ls .$1"
do
mv $i ${i%.
}.$2
done

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值