为什么'哪个'在Linux中找到两个相同符号链接的实例?

时间:2016-01-08 08:10:40

标签: linux shell

在我设置rtags时,我使用下面创建了一个指向gcc-rtags-wrapper.sh g++的符号链接。

sudo ln -s ~/rtags/bin/gcc-rtags-wrapper.sh ~/bin/g++

并在shell配置文件( fish shell )中将新创建的链接的目录添加到$PATH

为了检查我是否成功这样做,我在终端中运行了which -a g++ | xargs file,期望看到g++的单个实例,而不是我使用相同符号lnik的两个实例来{ {1}}。

gcc-rtags-wrapper.sh

我认为这是一个非常新的问题,但为什么会这样呢?提前致谢。

我确实看了一下类似的question,但认为我的情况有所不同,因为我正在建立一个指向特定文件而不是目录的链接。

编辑:

谢谢! @David C. Rankin,@ Greg A. Woods& @jlliagre !!!

我的/home/grey/bin//g++: symbolic link to `/home/grey/rtags/bin/gcc-rtags-wrapper.sh' /home/grey/bin/g++: symbolic link to `/home/grey/rtags/bin/gcc-rtags-wrapper.sh' /usr/bin/g++: symbolic link to `g++-4.8' 变量同时包含$PATH*/bin。删除其中一个包后运行*/bin/会返回which -a g++ | xargs file的单个实例!我错误地认为g++变量中的冗余包含将被忽略。

1 个答案:

答案 0 :(得分:4)

这与有符号链接的事实无关。您的PATH包含/home/grey/bin//home/grey/bin。找到命令的第一次出现时,which -a不会停止,因此报告冗余命令。

相关问题