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
#打印 99 乘法表
for i in seq 9
do
for j in seq $i
do
echo -n "
j
∗
j*
j∗i=$[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