如何为名称与内置程序冲突的程序添加别名,同时将内置程序保留在不同的名称下?

如何为名称与内置程序冲突的程序添加别名,同时将内置程序保留在不同的名称下?

在 zsh 中,“kill” 是内置的。
我想将 killall 别名为 kill,因为我更经常使用“killall”,将其别名为 kill 会更方便。但是,如果可能的话,我想保留使用 kill 的能力,将其别名为“pidkill”或类似的名称。

我怎样才能实现这一目标?或者是否有一条我不知道的更方便的路线?

答案1

通过将 kill 别名为 killall,可以轻松实现您的要求。如果您想使用 kill,只需输入“\kill”。以反斜杠开头可禁用别名。进一步完成您想要的操作:

alias kill=killall
alias pidkill='\kill'

但更重要的是,正如 Nuno Cordeiro 所说,尽量不要出于他所述的原因这样做,也不要使用像 kill 这样的命令。

答案2

简短的回答是:不要这样做。

解释:即使你找到了一种方法来做到这一点,你也会破坏系统的预期行为,并且你会为自己养成一种在标准系统上不起作用的心理习惯。

如果您确实想要这个,那么创建一个新的命令别名(不匹配任何内置命令)并使用它。对我来说,像 kall 这样的东西听起来很完美……

相关内容