在终端输入一个文件名,判断文件是否为空,如果不为空,判断文件是否是普通文件,如果是普通文件,就判断是否具有写权限,没有写权限,就加上写权限,并在文件最后追加一行”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