C高级 24/1/16 作业

本文介绍了几个使用bash编写的脚本,包括文件权限检查、判断文件类型与权限、回文数和素数检测、计算阶乘、图形打印以及使用select进行菜单交互。
摘要由CSDN通过智能技术生成

1、输入一个文件名,判断是否在当前目录下存在, 如果是一个目录,则直接输出是目录 ,如果存在则判断是否是一个普通文件,如果是普通文件则判断是否具备 可读可写可执行权限, 如果具备权限,写入hello, 不具备权限,则添加读写执行权限, 写入hello如果是一个链接文件则输出文件的详细信息 

#!/bin/bash
read filename
if [ -e $filename ]
then
	if [ -d $filename ]
	then
		echo "is dir"
	elif [ -f $filename ]
	then
		if [ -r $filename -a -r $filename -a -x $filename ]
		then
			echo "hello"  >> $filename
		else
			chmod 777 $filename
			echo "hello" >> $filename
		fi
	elif [ -l $filename ]
	then
		echo "`ls -lh $filename`"
	fi
else
	echo "not exists"
fi

2、输入一个数,判断是否是回文数(回文数:12321)

#!/bin/bash
read num
n=$num
while [ "$num" -ne "0" ]
do
	((sum=sum*10+num%10))
	((num=num/10))
done
if [ $sum -eq $n ]
then
	echo "is Palindromic number"
else
	echo "is not Palindromic number"
fi


3、输入n,计算n!

#!/bin/bash
read n
sum=1
while [ $n -ne 0 ]
do
	((sum=sum*n))
	((n--))
done
echo sum=$sum

4、图形打印

*

***

*****

*******

#!/bin/bash
read n
for((i=0;i<n;i++))
do
	for((j=0;j<=i;j++))
	do
		echo -n "*"
	done
	echo ""
done

5、使用select in循环数组,arr=(Windows Linux Unix Mac),实现页面的交互

如果是Windows,则输出Windows以打开

如果是Linux,则输出Linux以打开

如果是Unix,则输出Unix以打开

如果是Mac,则输出Mac以打开

其他,提示错误

#!/bin/bash
arr=(Windows Unix Linux Mac)
select var in ${arr[*]}
do
	case $var in
		Windows)
			echo "Open with Windows"
			;;
		Unix)
			echo "Open with Unix"
			;;
		Linux)
			echo "Open with Linux"
			;;
		Mac)
			echo "Open with Mac"
			;;
		*)
			echo "error"
			;;
	esac
done

6、输入一个数,判断是否是素数(素数:被1和本身整除)

#!/bin/bash
read n
for((i=1;i<=n;i++))
do
	if [ $((n%i)) -eq 0 ]
	then
		((count++))
	fi
done
if [ $count -eq 2 ]
then 
	echo "is prime number"
else
	echo "is not prime number"
fi

7、思维导图

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值