我已经在minix上创建了一个回收站脚本。我把一个要删除的文件移到另一个文件夹,而不是删除它。我在rm命令上使用了alias命令来使用脚本,而不是rm。现在的问题是我必须清空回收站。我写了这个脚本:
#!/bin/sh
unalias rm
rm -r "/home/recyclebin/*"
alias rm='/home/scriptrm.sh'
#
在这个脚本中,我unalias rm命令,所以我可以再次使用它,然后我清空回收站,然后再次使用将文件移动到回收站的脚本别名rm。当我运行这个脚本时,它什么也不做。我尝试只运行脚本来解除rm的别名,但rm继续使用别名。有人知道发生了什么吗?
谢谢。
需要解决的几个问题
-
你(双-)引用你的glob (
*
),所以它实际上不会扩展到任何东西(除非你有一个实际名为*
的文件)。 -
您的脚本将在子进程中运行,因此设置/重置别名等不会对调用脚本的父shell产生任何影响。这样,您就不需要在最后将其别名还原为原始形式。而且它不会继承现有父shell的别名。