【无标题】

2.定义一个find函数,查找ubuntu和root的gid并使用变量接收结果
3.定义一个数组,写一个函数完成对数组的冒泡排序
4.使用break求1-100中的质数(质数:只能被1和他本身整除,如:357…)

解释:用select..in..和case..in..将三题链接起来选择执行

#!/bin/bash

find1()  #查找ubuntu和root的gid
{
	ugid=`grep ^ubuntu /etc/passwd | cut -d : -f 4`
	rgid=`grep ^root /etc/passwd | cut -d : -f 4`
	echo ubuntu的组ID为:$ugid
	echo root的组ID为:$rgid
}

sor1()   #冒泡排序函数
{
	a=($*)
	for((i=1;i<${#a[*]};i++))
	do
		for((j=0;j<${#a[*]}-i;j++))
		do 
			if [ ${a[$j]} -gt ${a[$((j+1))]} ]
			then
				temp=${a[$j]}
				a[$j]=${a[$((j+1))]}
				a[(($j+1))]=$temp

			fi
		done
	done
	echo 排序后的结果为:${a[*]}
}

prime_number()
{
	echo -n '1到100的所有质数分别为:'
	echo -n 1
	echo -n ' '
	for i in `seq 2 1 100`
	do
		n=2
		flag=0
		while [ $n -lt $i ]
		do
			if [ $(($i%$n)) -eq 0 ]
			then
				flag=1
				break
			fi
			((n++))
		done
		if [ $flag -eq 0 ]
		then
			echo -n $i
			echo -n ' '
		fi
	done
	echo
}
select n in 1 2 3 Q
do
	case $n in
		1)
			find1
			;;
		2)
			arr=(3 5 6 2 45 7 8 1 56)
			sor1 ${arr[*]}
			;;
		3)
			prime_number
			;;
		Q)
			exit
	esac
done

结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值