我正在尝试让 Cygwin 设置我在 Windows 中使用的工具,但遇到了一些问题。来自这个帖子,我发现我可以使用以下方式指定 Notepad++ 作为我的编辑器
alias notepad="/cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"
当我通过命令行运行它时,它有效
notepad $( cygpath -pw ~/.bashrc ) &
打开我的 .bashrc 文件,但是当我尝试将其设为别名时
alias settings="notepad $( cygpath -pw ~/.bashrc ) &"
并输入settings
我得到的错误
C:\Program Files (x86)\Notepad++\cygwin64homeuser.bashrc doesn't exist. Create it?
我尝试定义一个变量,但遇到了更多问题。我做错了什么?
答案1
您在 alias 命令中使用了双引号,因此双引号中的内容都会被执行在你设置别名的时候。您必须使用单引号括住别名定义,以便在使用别名时解析变量。例如,尝试以下两个:
alias wtf1='echo $(pwd)'
alias wtf2="echo $(pwd)"
您将看到wtf1
正确报告了当前目录,但wtf2
似乎停留在您设置别名时所在的目录中。
答案2
我遇到了另一个问题。我$PATH
在 Cygwin 下更新了,但错误地删除了/usr/local/bin
。后来我才注意到 git 别名停止工作了。恢复PATH
解决了这个问题。