9.27作业

在终端输入一个文件名,判断文件是否为空,如果不为空,判断文件是否是普通文件,如果是普通文件,就判断是否具有写权限,没有写权限,就加上写权限,并在文件最后追加一行”hello world“

#!/bin/bash 

read -p "请输入一个文件名:" val

if [ -z $val ]
then
	echo "$val 为空"
elif [ $? -eq 1 ]
then
	echo "不为空"
fi

if [ -f $val ]
then
	echo "$val 不为普通文件"
elif [ $? -eq 1 ]
then
	echo "为普通文件"
fi

if [ -w $val ]
then
	echo "有写权限"
elif [ $? -eq 1 ]
then
chmod u+w $val
fi

echo "hello world" >> $val

在家目录/home/ubuntu 下创建两个目录文件 file_dir 和 dir_dir,如果家目录下有这两个文件夹,就不需要创建,询问用户是否要对目录清空[Y/N], 输入一个文件路径,判断这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到 dir_dir 中,如果是其他文 件,复制到 file_dir 下,统计复制的文件和目录文件的个数,并打印出来

函数

#!/bin/bash 

if [ -d /home/ubuntu/file_dir -a /home/ubuntu/dir_dir ]
then
	echo "存在,不需要创建"
elif [ $? -eq 1 ]
then
	mkdir /home/ubuntu/file_dir
	mkdir /home/ubuntu/dir_dir
fi

read -p "是否对该目录进行清空[Y/N]?" val
if [ $val == "Y" ]
then
	rm -r /home/ubuntu/file_dir/*
	rm -r /home/ubuntu/dir_dir/*
fi

read -p "请输入一个文件路径:" ame
if [ -e $ame ]
then
	echo "存在"
fi

count1=0
count2=0
arr=(`ls $ame`)


for((i=0;i<${#arr[@]};i++))
{
	if [ -f $ame/${arr[$i]} ]
	then
		cp -r $ame/${arr[$i]} /home/ubuntu/file_dir
		echo "普通"
		val1=$((++count2))
	fi

	if [ -d $ame/${arr[$i]} ]
	then
		cp -r $ame/${arr[$i]} /home/ubuntu/dir_dir
		echo "目录"
		val2=$((++count1))
	fi
}
echo $val1
echo $val2

现象

存在,不需要创建
是否对该目录进行清空[Y/N]?Y
请输入一个文件路径:./1
存在
普通
普通
普通
目录
目录
3
2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值