我有以下 bash 脚本,称为垃圾.sh。在我的脚本中,我向用户请求一个参数,只是一个文件名。并将文件移动到位于用户主目录中的垃圾箱文件夹中。如果该目录不存在,它只是创建一个然后将文件移到那里。另一方面,如果文件不存在,它会通知用户。
#!/bin/bash
FILE=$1
FOLDER="$HOME/Trash"
ARGS=1
if [ $# -ne $ARGS ]
then
echo "Error: You are missing an argument!"
echo "Usage: ./trash.sh <file_name>"
else
if [ -s $FILE ]
then
if [ -d $FOLDER ]
then
mv -v $FILE $FOLDER
else
mkdir $FOLDER
mv -v $FILE $FOLDER
fi
else
echo "The file you have entered does not exist!"
fi
fi
现在,我想以以下方式扩展我的脚本,但我不知道如何,因为我对 bash 脚本没有太多经验。首先,我想让用户输入多个参数,只需多个文件名,并移动 Trash 文件夹中的所有文件。如果一个或多个文件不存在,它将通知用户哪些文件或哪些文件不存在。简单地说,我希望我的脚本能够接收用户想要的尽可能多的参数。
例如,如果用户像这样调用脚本:
./trash.sh file1 file2 file3
假设 file2 不存在,我希望输出是。
file1 -> /home/user/Trash/file1
file3 -> /home/user/Trash/file3
file2 doesn't exist!
最后,我还希望它接受这样的参数:
./trash *.txt
简单地说,这将移动所有以 .txt 扩展名结尾的文件。如果有人可以帮助我实现这些目标/扩展我的脚本,我会很高兴。