在Cygwin中软链接可执行文件

在Cygwin中软链接可执行文件,cygwin,executable,symlink,julia,Cygwin,Executable,Symlink,Julia,我试图用朱莉娅和西格温(显然,我对这两个都不太了解)。我已经建立和测试朱莉娅,一切似乎都很好。要从终端运行Julia,似乎我需要在Julia/usr/bin中,然后键入./Julia.exe(或只是./Julia)。这在任何其他目录中都不起作用 朱莉娅的文件说 '构建完成后,您可以使用上面创建的目录(julia目录)中的完整路径运行julia可执行文件,或者从任何地方运行它。。。将julia目录中julia可执行文件的软链接添加到/usr/local/bin(或路径中已有的任何合适目录)' 既然

我试图用朱莉娅和西格温(显然,我对这两个都不太了解)。我已经建立和测试朱莉娅,一切似乎都很好。要从终端运行Julia,似乎我需要在Julia/usr/bin中,然后键入./Julia.exe(或只是./Julia)。这在任何其他目录中都不起作用

朱莉娅的文件说

'构建完成后,您可以使用上面创建的目录(julia目录)中的完整路径运行julia可执行文件,或者从任何地方运行它。。。将julia目录中julia可执行文件的软链接添加到/usr/local/bin(或路径中已有的任何合适目录)'

既然我想在任何目录中使用Julia,这似乎是个好主意。然而,我尝试了不同的排列方式

ln-s/Julia/usr/bin/Julia/bin

(使用/bin而不是/usr/local/bin,因为这似乎是cygwin中保存东西的地方,而不是linux本身),每次我键入julia或/julia时,我都会收到一条消息,说-bash:julia:command not found

我希望这真的很容易-我不是很有经验。任何帮助都将不胜感激


编辑-此问题已解决。为了找到julia.exe所在的正确路径,我尝试了许多不同的可能方法,包括相对路径编码/julia/usr/bin(我应该首先提到),这导致了我在下面接受的答案。使用这个答案,我现在可以使用命令Julia在任何目录的任何地方运行Julia。

问题是
ln
需要链接到绝对路径,而不是相对路径。问题在OP中并不明显,因为您编写的路径看起来是绝对的,因为它以
/
开头

类似于
ln-s/home//Coding/Julia/usr/bin/Julia.exe/usr/local/bin/Julia.exe的东西应该可以工作

注:
通过在链接名的末尾添加
.exe
,您可以同时调用
julia
julia.exe
。无论您是否打算使用长格式,最好在目标和链接名称上都包含
.exe

问题在于
ln
需要链接到绝对路径,而不是相对路径。问题在OP中并不明显,因为您编写的路径看起来是绝对的,因为它以
/
开头

类似于
ln-s/home//Coding/Julia/usr/bin/Julia.exe/usr/local/bin/Julia.exe的东西应该可以工作

注:
通过在链接名的末尾添加
.exe
,您可以同时调用
julia
julia.exe
。无论您是否打算使用长格式,最好在目标和链接名称上都包含
.exe

对于任何未通过Cygwin安装程序安装的内容,我始终在Cygwin中使用/usr/local/bin。你试过
ln-s/Julia/usr/bin/Julia.exe/usr/local/bin/Julia
(或者你想放在哪里)吗?也就是说,在命令行中包含
.exe
部分?只是尝试了一下(在/usr/local/bin中,以防它起作用)-仍然会收到相同的错误消息。我尝试过使用.exe和不使用.exe,以及使用./(不完全确定这能做什么,除非它使.exe运行),但我一直无法使其工作。您可以检查您的*/bin目录的路径和权限。如果您执行echo$PATH
,则应将
/usr/local/bin:/usr/bin:
作为第一个条目。在您尝试了
ln-s
命令后,
ls-l/Julia/usr/bin/Julia.exe
ls-l/usr/local/bin/Julia
的输出是什么?以下是所有相关的命令-看起来应该可以工作了?但仍然是相同的错误消息。Ben@Ben-PC~$ln-s编码/Julia/usr/bin/Julia.exe/usr/local/bin/JuliaBen@Ben-PC~$julia-bash:julia:未找到命令Ben@Ben-PC~$ls-l Coding/Julia/usr/bin/Julia.exe-rwxr-xr-x 1 Ben None 1515029 Jan 13 22:16 Coding/Julia/usr/bin/Julia.exeBen@Ben-PC~$ls-l/usr/local/bin/julia lrwxrwx 1 Ben None 1月17日30日21:21/usr/local/bin/julia->Coding/julia/usr/bin/julia.exe这是我从echo$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows/system32/Wbem:/cygdrive/c/Windows/system32/windowsupershell/v1.0I在Cygwin中始终使用/usr/local/bin来处理任何未通过Cygwin安装程序安装的内容节目。你试过
ln-s/Julia/usr/bin/Julia.exe/usr/local/bin/Julia
(或者你想放在哪里)吗?也就是说,在命令行中包含
.exe
部分?只是尝试了一下(在/usr/local/bin中,以防它起作用)-仍然会收到相同的错误消息。我尝试过使用.exe和不使用.exe,以及使用./(不完全确定这能做什么,除非它使.exe运行),但我一直无法使其工作。您可以检查您的*/bin目录的路径和权限。如果您执行echo$PATH
,则应将
/usr/local/bin:/usr/bin:
作为第一个条目。在您尝试了
ln-s
命令后,
ls-l/Julia/usr/bin/Julia.exe
ls-l/usr/local/bin/Julia
的输出是什么?以下是所有相关的命令-看起来应该可以工作了?但仍然是相同的错误消息。Ben@Ben-PC~$ln-s编码/Julia/usr/bin/Julia.exe/usr/local/bin/JuliaBen@Ben-PC~$julia-bash:julia:未找到命令Ben@Ben-PC~$ls-l Coding/Julia/usr/bin/Julia.exe-rwxr-xr-x 1 Ben None 1515029 Jan 13 22:16 Coding/Julia/usr/bin/Julia.exeBen@Ben-PC~$ls-l/usr/local/bin/julia lrwxrwx 1 Ben None 1月17日30日21:21/usr/local/bin/julia->Coding/julia/usr/bin/julia.exe以下是我从echo$PATH:/usr/local/bin:/usr/bin:/cygdrive/c/Windows/system32:/cygdrive/c/Windows:/cygdrive/c/Windows/system32/Wbem:/cygdrive/c/Windows/system32/windowspowshell/v1中得到的信息。0@KeithThompson我愿意犯错,但是