无法在 Cygwin 中创建指向 Notepad++ 的链接

无法在 Cygwin 中创建指向 Notepad++ 的链接

我尝试在 Cygwin 中建立到 Notepad++ 的链接,但遇到以下错误:

KD@HPi7 /home/kd/ns-allinone-2.35
$ ln /cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe np
ln: failed to create hard link ‘np’: File exists

KD@HPi7 /home/kd/ns-allinone-2.35
$ np
-bash: syntax error near unexpected token `x86\)/Notepad++/notepad++.exe'

我不知道为什么会发出错误,因为我在 Notepad++ 中输入的路径是 Cygwin 命令行中通过 Tab 键自动完成的结果。那么,问题可能出在哪里?

答案1

问题可能出在哪里?

ln /cygdrive/c/Program\ Files\ (x86)/Notepad++/notepad++.exe np

上述命令将不起作用,因为您还需要转义,(并且)这对 bash 具有特殊含义。

  • Bash 将 视为(引入命令列表。
  • 将命令列表放在括号内会导致创建子 shell,并且列表中的每个命令都会在该子 shell 中执行。由于列表是在子 shell 中执行的,因此变量赋值在子 shell 完成后不再有效。
  • Bash 尝试执行x86

以下应该有效:

ln /cygdrive/c/Program\ Files\ \(x86\)Notepad++/notepad++.exe np

进一步阅读

答案2

我只是用了别名

alias np="/cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"

相关内容