```bash
#!/bin/bash
TRASH="/home/warnar/.local/share/Trash"
TRASH_FILES="$TRASH/files"
TRASH_INFO="$TRASH/info"
for i in $*; do
#忽略参数
TEMP=$i
TEST=${TEMP:0:1}
if [ $TEST == "-" ];then
continue
fi
#创建trashinfo文件
FileName=`basename $i`
DDATE=`date +"%G-%m-%dT%T"`
echo "[Trash Info]" > "$TRASH_INFO/$FileName.$DDATE.trashinfo"
DPATH=`realpath $i`
echo "Path=$DPATH" >> "$TRASH_INFO/$FileName.$DDATE.trashinfo"
echo "DeletionDate=$DDATE" >> "$TRASH_INFO/$FileName.$DDATE.trashinfo"
#将文件或文件夹移动到回收站
mv $i "$TRASH_FILES/$FileName.$DDATE"
done
这个bash文件模拟了把文件移动到回收站的过程,并且同名文件不会冲突(用删除时间点区分),解决了原文章https://blog.csdn.net/designer_drk/article/details/53443571 不能区分同名文件的bug。只需要在~/.bashrc中使此bash文件为rm之别名即可。