Rm

別名 rm 以創建 CLI “資源回收筒”

  • July 17, 2017

當我們這樣做

mv /root/file /root/folder/

它移動/root/file/root/folder

我想做同樣的事情,但我想顛倒如何mv看待論點的順序

我想聲明一個別名(不是函式)

alias rm="mv /root/folder"

所以,當我會做

rm /root/file

它會將該特定文件移動到/root/folder


為什麼,我不想使用函式?

因為我無法命名函式rm(),因為關鍵字rm已經存在。

我希望能夠使用關鍵字rm,因為這是我們所有人的正常習慣。

alias rm="mv -t /root/folder"如果你有一個mv支持非標準-t選項的,就會這樣做。請參閱mv(1)以獲取更多選項(您可能也想要--no-clobber/ --interactive)。

如果你想要一個 POSIX 解決方案,你絕對可以使用一個名為的函式來解決基本的rmhttp://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html#toprm ) :

rm() {  mv "$@" /root/folder;  } # a start

就個人而言,我認為這是一個壞主意。如果要在命令行上使用垃圾箱資源回收筒trash-cli,請安裝.

為什麼我認為這是一個壞主意:

  • 當您想使用rm- 退出、刪除文件或目錄應用程序時會發生什麼?
  • 當您移動文件名與已存在的文件匹配的文件時會發生什麼/root/folder

值得注意的是,作者trash-cli也認為這種別名是一個壞主意,經過一些經驗後:

我可以將 rm 別名為垃圾箱嗎?

你可以,但你不應該。在早期,我認為這樣做是個好主意,但現在我改變了主意。

而且,她推薦了一種替代方法

您可以將 rm 別名為會提醒您不要使用它的東西:

alias rm='echo "This is not the command you are looking for."; false'

引用自:https://unix.stackexchange.com/questions/379138