9/27shell作业

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

#!/bin/bash
 
cd ~/cbase/ctype/mon9/9.27/ 
a1=$1
a2="hello world"
if [ -s $a1 ]
then 
	echo "该文件不为空"
	if [ -f $a1 ]
	then
		echo "该文件是普通文件"
	fi
		if [ -w $a1 ]
		then
			echo $a2 >> $a1
		else
			chmod u+w $a1
			echo $a2 >> $a1
		fi
fi

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

#!/bin/bash
 
cd ~/ 
if [ -d file_dir ]
then
	echo "file_dir 目录存在,无需创建"
	echo "请问是否清空目录Y/N"
	read -p "请输入Y/N" a
	if [ $a == Y ]
	then
		echo "需要清空目录"
		cd file_dir
		rm -rf *
	else
		echo "不需要清空目录"
	fi
else
	echo "目录不存在,创建file_dir目录"
	mkdir file_dir
fi
echo -e "\n"
cd ~/
if [ -d dir_dir ]
then
	echo "dir_dir 目录存在,无需创建"
	echo "请问是否清空目录Y/N"
	read -p "请输入Y/N" b
	if [ $b == Y ]
	then
		echo "需要清空目录"
		cd dir_dir
		rm -rf *
	else
		echo "不需要清空目录"
	fi
else
	echo "目录不存在,创建dir_dir目录"
	mkdir dir_dir
fi
 
read -p "请输入路径" c
if [ -d $c ]
then
	echo "正确路径"
	cd $c
	arr=(`find . -maxdepth 1 -type d`)  #查看当前目录下深度为1的所有的目录文件
	count=${#arr[@]}
	for((i=1;i<count;i++))
		{
			cp -r ${arr[i]} /home/ubuntu/dir_dir
		}
		echo "目录文件复制移动成功"
	arr1=(`find . -maxdepth 1 ! -type d`)
	#查看当前目录下所有深度为1的不是目录的文件
	count1=${#arr1[@]}
	for((i=0;i<count1;i++))
		{
			cp ${arr1[i]} /home/ubuntu/file_dir
		}
		echo "其他文件复制移动成功"
else
	echo "路径错误"
fi
count2=$((count-1))
echo 目录文件个数:$count2
echo 其他文件个数:$count1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值