shell - 如何在 linux 中创建命令,别名是唯一的方法吗?
问题描述
我来这里,只是为了上下文,基于这个问题。 如何在 Dockerfile 中为 docker 容器设置 bash 别名?
我知道我可以为某个命令创建一个别名并将它们注入到用户的 bash 配置文件中。
例如:
alias kc=/opt/kafka/bin/kc.sh
我还可以将目录添加到路径中(可能这就是我要做的)。
但我想知道有没有办法可以将它创建为一种命令?别名是做到这一点的唯一方法吗,有没有一种方法可以为所有用户创建别名,而不取决于他们使用的 bash?
例如,如果我想创建一个类似 my_command 的命令,有没有办法做到这一点?
可能这个问题表明对实际操作系统缺乏很多了解,但我只是想知道我会有什么选择,而且我的谷歌搜索总是显示相同的结果,所以我想我在这里问了
解决方案
你已经有了命令:/opt/kafka/bin/kc.sh。
我了解您希望将其作为简单的kc.sh
or提供给您的用户kc
,而不需要目录前缀。解决方案是将该目录放入 PATH 变量中,通常在 /etc/profile 中完成;或者将命令分别放置一个(符号)链接到已经在 PATH 中的目录中,例如 /bin/、/usr/bin 或 /usr/local/bin。
将目录放入 PATH 可能是更好的解决方案,还因为可能会找到更多有用的命令。如果您不喜欢kc.sh
但想要一个简单的kc
,您仍然可以在同一目录中创建一个链接,例如通过执行cd /opt/kafka/bin
and then ln -s kc.sh kc
。
推荐阅读
- tableau-api - 在画面中的两个不同点之间画一条胡须
- php - 如何在 Symfony 4 中使用简单功能?
- matlab - Matlab Simscape vs Simulink vs PDE-Toolbox/Ansys/Comsol
- swift - 在 Swift 中添加两个 [String : Int] 字典的值
- python-3.x - 从 Windows 搜索窗口运行 Python 批处理文件 - 为什么我不能以这种方式启动使用 selenium 和 Firefox 的程序?
- ember.js - 如何在 Ember.js 中迭代保存子记录?
- ios - 在上下文中图像旋转有什么问题?
- c# - 在 .NET 实体框架中调用第二次 SaveChanges 时出现 InvalidOperationException
- mysql - 仅在 COUNT 中考虑特定 ID
- python - 如何在嵌套函数中访问更多全局函数中的变量?(Python)