在终端中自定义(更改)可执行程序的命令(名称)的合理方法

在终端中自定义(更改)可执行程序的命令(名称)的合理方法

背景

xfce4-terminal个例子,我想通过输入来运行该程序term

当我输入时,which xfce4-terminal它返回/usr/bin/xfce4-terminal.

因此,我创建了一个符号链接:sudo ln -s /usr/bin/xfce4-terminal /usr/bin/term

现在我可以通过输入来执行该程序term

问题

我一直想知道这是否是实现目的的合理方法。询问最好的方法(甚至没有研究)可能是一个主观问题,但在这里我要求一个标准方法(如果有的话),或者我的方法可能有的任何优点和缺点。

我想到了以下替代方案:

  • 重命名程序:mv xfce4-terminal term
  • 使用环境变量(但有很多方法可以做到这一点......)
  • 首先要避免偷懒

我已经知道:

  • 我可以利用Tab自动完成
  • (在 GUI 中)我可以使用像Ctrl+ Alt+这样的快捷方式T
  • 如果另一个程序被命名为“term”,则创建符号链接会有冲突的风险
  • 重命名有破坏依赖关系的风险

环境:

uname --all返回:

  • Linux debian 4.19.0-18-amd64 #1 SMP
  • Debian 4.19.208-1 (2021-09-29)
  • x86_64 GNU/Linux

答案1

最安全的方法是使用别名,例如他们评论里已经提到了。

符号链接也可以工作,但请注意,某些程序会根据调用它们的名称来改变其行为。
例如,bash 脚本检查内容$0并根据其调用不同的函数。

重命名程序本身就是自找麻烦:
任何依赖的东西xfce4-terminal在重命名后都会一败涂地。下次更新时,您的系统上将有两个版本的二进制文件:-/

相关内容