背景
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方式AltT
- 如果另一个程序被命名为“term”,则创建符号链接有冲突的风险
- 重命名有破坏依赖的风险
环境:
uname --all
返回:
- Linux debian 4.19.0-18-amd64 #1 SMP
- Debian 4.19.208-1 (2021-09-29)
- x86_64 GNU/Linux
最安全的方法是使用别名,正如他们在评论中已经提到的那样。
符号链接也可以工作,但请注意,某些程序会根据调用它们的名称来改变它们的行为。
例如 bash-scripts 检查内容
$0
并根据它调用不同的函数。重命名程序本身就是自找麻烦:
任何依赖的东西
xfce4-terminal
都会在重命名后一蹶不振。下次更新时,您的系统上将拥有两个版本的二进制文件:-/