[英]Why do self made symlinks/aliases in /usr/local/bin not work as expected with 'which' command?
我最近一直在创建 bash 脚本,并希望将它们存储在我的/usr/local/bin
目录中。 当我ls
这个目录时,我看到很多,我相信是,符号链接路径。 例子:
brew -> /usr/local/HomeBrew/bin/brew
我已经能够成功地为我自己的脚本创建符号链接,并使用ln
命令将它们存储在我的/usr/local/bin
:
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 不是更好吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.