bash - 为什么 /usr/local/bin 中的自制符号链接/别名不能按“which”命令的预期工作?
问题描述
我最近一直在创建 bash 脚本,并希望将它们存储在我的/usr/local/bin
目录中。当我在ls
这个目录中时,我看到了许多我相信的符号链接路径。例子:
brew -> /usr/local/HomeBrew/bin/brew
我已经能够成功地为我自己的脚本创建符号链接,并/usr/local/bin
使用以下ln
命令将它们存储在我的脚本中:
ln -s /User/me/Projects/bash/my_script /usr/local/bin/my_script
一切都按预期运行。
我遇到的问题是,当我尝试运行which my_script
它时,它没有返回一个好的标准输出结果,就像其他脚本一样。例如运行which brew
返回:/usr/local/bin/brew
以一个很好的标准输出格式与其他命令一起使用。
运行which my_script
,将成功检测到我的脚本,但返回
my_script: aliased to ~/Projects/bash/my_script
这使得与其他命令的组合更加困难。
谁能解释一下有什么区别,以及我该如何解决这个问题?
解决方案
您必须定义了一个名为 的别名my_script
,它隐藏了您的符号链接。你可以做一个
type -a my_script
找到所有定义。要绕过别名,请使用
command my_script
除此之外:你确定你真的想要一个链接/usr/local/bin
到你下面的东西/User/me
吗?这在我看来并不理智。/User/me/Projects/bash
简单地放入你的PATH不是更好吗?
推荐阅读
- javascript - 扩展数组时发现不可调用的@@iterator
- r - R错误:“找不到函数“变异””跟随管道运算符
- devextreme - Angular DevExtreme 网格行为
- python-3.x - 我正在尝试从 python 中的命令行提示构建一个字符串,但是我无法从它的列表中删除值
- python - 如何遍历熊猫数据框中的字符串并删除不需要的单词?
- python - 在 pycharm 中,当我尝试访问 googlesheet 时显示以下错误。请我的代码和错误
- discord.js - Discord.js - Discord 机器人停止响应命令
- java - 从 Java 中的字节数组(例如 parquet 文件的内容,例如 example.parquet)中提取 Parquet 模式?
- java - 带有 GridBagLayout 的 JPanel 大小不正确
- c - 如何通过用指针填充指针数组来操作指针数组?