1..在家目录/home/ubuntu 下创建两个目录文件 file_dir 和 dir_dir,如果家目录下有这两个文件夹,就 不需要创建,询问用户是否要对目录清空[Y/N], 输入一个文件路径,判断这个文件路径是否存在,如 果存在,把这个目录下的目录文件复制到 dir_dir 中,如果是其他文 件,复制到 file_dir 下,统计复制 的文件和目录文件的个数,并打印出来。
#! /bin/bash
read -p "是否清空file_dir和dir_dir[Y/N]" val
if [ $val == y -o $val == Y ]
then
cd /home/ubuntu/file_dir/
rm *
cd /home/ubuntu/dir_dir/
rm -r *
read -p "请输入路径" val1
if [ -d $val1 ]
then
cd $val1
arr=(`ls`)
val2=`echo ${#arr[*]}`
count=0
for(( i=0;i < $val2; i ++ ))
{
brr=`echo ${arr[$i]}`
if [ -d $brr ]
then
count=$[$count+1]
cp -r $brr /home/ubuntu/dir_dir/
else
cp $brr /home/ubuntu/file_dir/
fi
}
echo 目录文件有$count个。
echo 其他文件有$[ val2 - count ]个。
else
echo 路径不合法
fi
else
read -p "请输入路径" val1
if [ -d $val1 ]
then
cd $val1
arr=(`ls`)
val2=`echo ${#arr[*]}`
count=0
for(( i=0;i < $val2; i ++ ))
{
brr=`echo ${arr[$i]}`
if [ -d $brr ]
then
count=$[$count+1]
cp -r $brr /home/ubuntu/dir_dir/
else
cp $brr /home/ubuntu/file_dir/
fi
}
echo 目录文件有$count个。
echo 其他文件有$[ val2 - count ]个。
else
echo 路径不合法
fi
fi
2.在终端输入一个文件名,判断文件是否为空,如果不为空,判断文件是否是普通文件,如果是普通文 件,就判断是否具有写权限,没有写权限,就加上写权限,并在文件最后追加一行”hello world“
#! /bin/bash
read -p "请输入文件名" val
if [ -e $val ]
then
if [ -s $val ]
then
if [ -f $val ]
then
if [ -w $val ]
then
echo "hello world">>$val
else
chmod u+w $val
echo "hello world">>$val
fi
else
echo 文件不是普通文件
fi
else
echo 文件为空文件
fi
else
echo 文件不存在
fi