fish shell、$PATH 和符号链接二进制文件
fish shell, $PATH and symlinked binary
根据 these instructions 我将二进制链接到 /usr/bin
如下:
sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin
现在符号链接存在,/usr/bin
显然在 $PATH
:
cls@clsmba > ls -lah /usr/bin/ebook-convert
lrwxr-xr-x 1 root wheel 64B Jul 18 13:00 /usr/bin/ebook-convert -> /Users/cls/Applications/calibre.app/Contents/MacOS/ebook-convert
然而鱼shell并不知道它的存在:
cls@clsmba > ebook-convert
fish: Unknown command 'ebook-convert'
cls@clsmba > ./usr/bin/ebook-convert
fish: Unknown command './usr/bin/ebook-convert'
我做错了什么?
您创建了 /usr/bin/ebook-convert
作为符号链接。然后你尝试 运行 ./usr/bin/ebook-convert
(注意前导点)除非你的 cwd 是 / (即根目录),否则它将不起作用。当然,主要问题是您可能没有 /Users/cls/Applications
目录;或者,如果您这样做,它不包含 calibre.app。你可能想要 /Applications
而不是 ~/Applications
.
根据 these instructions 我将二进制链接到 /usr/bin
如下:
sudo ln -s ~/Applications/calibre.app/Contents/MacOS/ebook-convert /usr/bin
现在符号链接存在,/usr/bin
显然在 $PATH
:
cls@clsmba > ls -lah /usr/bin/ebook-convert
lrwxr-xr-x 1 root wheel 64B Jul 18 13:00 /usr/bin/ebook-convert -> /Users/cls/Applications/calibre.app/Contents/MacOS/ebook-convert
然而鱼shell并不知道它的存在:
cls@clsmba > ebook-convert
fish: Unknown command 'ebook-convert'
cls@clsmba > ./usr/bin/ebook-convert
fish: Unknown command './usr/bin/ebook-convert'
我做错了什么?
您创建了 /usr/bin/ebook-convert
作为符号链接。然后你尝试 运行 ./usr/bin/ebook-convert
(注意前导点)除非你的 cwd 是 / (即根目录),否则它将不起作用。当然,主要问题是您可能没有 /Users/cls/Applications
目录;或者,如果您这样做,它不包含 calibre.app。你可能想要 /Applications
而不是 ~/Applications
.