1.判断用户的家目录($HOME)下是否存在 file_dir 这个目录文件
如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件
如果用户输入的不是 Y 则不清空,退出脚本(exit)
如果不存在,则新建该目录文件
#! /bin/bash file_name="file_dir"full_path="$HOME/$file_name"#判断家目录下是否有file_dir文件
if [ -d "$full_path" ]
thenread -p "存在file_dir文件,是否清空该目录?(Y/N)" resif [ "$res" = "Y" ]then# 删除目录下所有文件和子目录rm -f "$full_path"/*echo "file_dir文件已清空"elseecho "退出脚本"exit 0fi
else# 没有就创建mkdir -p "$full_path"echo "已创建file_dir文件"
fi
2.判断用户的家目录($HOME)下是否存在 dir_dir 这个目录文件
如果存在,则询问用户是否清空,如果用户输入的是Y,则清空该目录文件
如果用户输入的不是 Y 则不清空,退出脚本(exit)
如果不存在,则新建该目录文件
dir_name="dir_dir"dir_path="$HOME/$dir_name"# 判断目录是否存在
if [ -d "$dir_path" ]
then# 目录存在,询问用户是否清空read -p "存在dir_dir文件,是否清空该目录?(Y/N): " user_choiceif [ "$user_choice" = "Y" ]then# 清空目录内容rm -rf "$dir_path"/*echo "$dir_name 目录已清空。"else# 退出脚本echo "脚本退出。"exit 0fi
else# 创建mkdir -p "$dir_path"echo "已成功创建。"asdidasd
fi
3.输入一个指定的路径 (最好是绝对路径)
将该路径下的所有普通文件都拷贝到 file_dir 中
将该路径下的所有目录文件都拷贝到 dir_dir 中
并分别统计操作了多少个目录文件 和 多少个普通文件
# 提示用户输入指定路径
read -p "请输入一个指定的路径: " source_path# 检查输入的路径是否存在
if [ ! -e "$source_path" ]; thenecho "该路径不存在,退出脚本。"exit 1
fi# 定义目标目录
file_dir="$HOME/file_dir"
dir_dir="$HOME/dir_dir"# 如果不存在就创建
mkdir -p "$file_dir"
mkdir -p "$dir_dir"# 定义计数器
file_count=0
dir_count=0for item in "$source_path"/*; doif [ -f "$item" ]; then# 普通文件拷贝到 file_dircp "$item" "$file_dir"((file_count++))elif [ -d "$item" ]; then# 目录拷贝到 dir_dircp -r "$item" "$dir_dir"((dir_count++))fi
doneecho "成功拷贝了 $file_count 个普通文件到 $file_dir。"
echo "成功拷贝了 $dir_count 个目录文件到 $dir_dir。"