下面是一个用于将输入参数的文件归档的Bash脚本的示例代码:
#!/bin/bash
# 检查输入参数是否为空
if [ $# -eq 0 ]; then
echo "请输入要归档的文件名"
exit 1
fi
# 创建一个以当前日期命名的归档目录
archive_dir=$(date +"%Y%m%d")
mkdir -p "$archive_dir"
# 循环处理每个输入参数
for file in "$@"; do
# 检查输入参数是否为文件
if [ -f "$file" ]; then
# 获取输入参数的文件名和扩展名
filename=$(basename "$file")
extension="${filename##*.}"
# 移动文件到归档目录,并在文件名中添加时间戳
mv "$file" "${archive_dir}/${filename%.*}_$(date +"%H%M%S").${extension}"
echo "已归档文件: $file"
else
echo "输入参数 $file 不是一个文件"
fi
done
使用该脚本,你可以通过执行以下命令将输入参数的文件归档:
./archive.sh file1.txt file2.jpg file3.pdf
该脚本会在当前目录下创建一个以当前日期命名的归档目录,并将每个输入参数的文件移动到该目录中,并在文件名中添加时间戳。例如,对于文件file1.txt,将会将其移动到名为YYYYMMDD/file1_HHMMSS.txt的归档目录中。