繁体   English   中英

为什么 /usr/local/bin 中自制的符号链接/别名在使用“which”命令时不能按预期工作?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM