今日小练题目📢
写一个脚本产生随机3位的数字,并且可以根据用户的输入参数来判断输出几组。
比如,脚本名字为 abc.sh。
执行方法:
bash number3.sh 直接产生一组3位数字。
bash number3.sh 10 产生10组3位数字。
优秀作业🤌🏻
#!/bin/bash
#author:xYLiuuuuuu
#date:2024-12-12
get_a_num()
{
n=$[$RANDOM%10]
echo $n
}
get_numbers() {
for i in 0 1 2; do
a[i]=`get_a_num`
done
echo ${a[@]} |sed 's/ //g'
}
if [ $# -gt 1 ]
then
echo "The number of your parameters can only be 1."
echo "example: bash $0 5"
exit
fi
if [ $# -eq 1 ]; then
m=`echo $1|sed 's/[0-9]//g'`
if [ -n "$m" ];then
echo "Useage bash $0 n, n is a number,example: bash $0 5"
exit
else
echo "The numbers are:"
for i in `seq $1`
do
get_numbers
done
fi
else
get_numbers
fi
敲黑板📝
- RANDOM命令产生随机数,取值范围是0-32767(2^15-1)
- 数组可以元素为单位赋值:a[0]=1;a[1]=2,获取数组的值:echo ${a[@]}但是元素之间有空格,后面可以加sed 's/ //g'去掉空格
- 判断一个字符是否为纯数字,可以: echo $1|sed 's/[0-9]//g' ,看它是否为空
- [ -n "$m" ]判断一个变量的值是否不为空;
- [ -z "$m" ]判断一个变量的值是否为空