我的〜/ .bashrc中有以下别名
alias del="mv -t ~/.trash"
Run Code Online (Sandbox Code Playgroud)
这会将文件或目录移动到〜/ .trash文件夹.但是,如果我执行以下操作:
del test.txt
touch test.txt
del test.txt
Run Code Online (Sandbox Code Playgroud)
第二个del调用会覆盖〜/ .trash中已存在的文件test.txt,因此我丢失了备份.这当然是不受欢迎的行为.我正在寻找一种方法来调整我的别名,以便移动到〜/ .trash的文件附加了移动到那里的时刻的日期和时间,从而产生唯一的文件名.有人知道如何做到这一点吗?我正在寻找一种简单的方法来调整别名,而不是广泛的bash脚本.
你可以使用一个功能.建议使用函数而不是别名.
function del {
local F
for F; do
mv -- "$F" ~/.trash/"$F-$(exec date '+%F-%T')"
done
}
Run Code Online (Sandbox Code Playgroud)
放入.bashrc并确保.bash_profile 来源 .bashrc.
有关您可以使用的其他格式,请参阅日期手册(man date).