Bash / Cygwin - 别名不像命令


1

我试图让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?

我尝试定义变量,甚至还有更多问题。我究竟做错了什么?

Answers:


2

您正在使用alias命令双引号,所以无论是在双引号中被执行的时候要设置别名。您必须在别名定义周围使用单引号,以便在使用别名时解析变量。例如,试试这两个:

alias wtf1='echo $(pwd)'
alias wtf2="echo $(pwd)"

您将看到wtf1正确报告当前目录,但wtf2似乎卡在您设置别名时所在的目录中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.