当我们这样做时
mv /root/file /root/folder/
它移动/root/file
到/root/folder
我想做同样的事情,但我想颠倒如何mv
看待论点的顺序
我想声明一个别名(不是函数)喜欢
alias rm="mv /root/folder"
所以,当我想做的时候
rm /root/file
它将将该特定文件移动到/root/folder
为什么,我不想使用函数?
因为我无法命名该函数rm()
,因为关键字rm
已经存在。
我希望能够使用该关键字,rm
因为这是我们所有人的常规习惯。
答案1
就我个人而言,我认为这是一个坏主意。如果你想使用垃圾或者回收站在命令行上安装trash-cli
.
为什么我认为这是一个坏主意:
当您想要使用
rm
现有的、删除文件或目录的应用程序时会发生什么?当您移动的文件的文件名与 中已有的文件相匹配时,会发生什么情况
/root/folder
?
值得注意的是,作者trash-cli
也认为这种别名是一个坏主意,经过一些经验之后:
我可以将 rm 别名为垃圾桶吗?
你可以,但你不应该。早期我认为这样做是个好主意,但现在我改变了主意。
...
还有,安德里亚推荐一种替代方法:
您可以使用 rm 别名来提醒您不要使用它:
alias rm='echo "This is not the command you are looking for."; false'
答案2
alias rm="mv -t /root/folder"
mv
如果您有支持非标准选项,则会这样做-t
。看MV(1)以获得更多选择(您可能也需要--no-clobber
/ --interactive
)。
如果您想要 POSIX 解决方案,您绝对可以解决基本的rm
(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/rm.html#top) 具有名为 的函数rm
:
rm() { mv "$@" /root/folder; } # a start