我有完全相同的pb: Spaces in Cygwin/bash aliases?
我在bash模式下使用rxvt而我正在尝试在.bashrc中设置我的别名 如果我按照上一篇文章的回答,我的别名看起来像这样:
alias ma="/cygdrive/c/Program\ Files/Autodesk/Maya2011/bin/maya.exe"
但我明白了:
$ ma
: No such file or directoryiles/Autodesk/Maya2011/bin/maya.exe
我也尝试这个synthax:
alias ma="/cygdrive/c/Program Files/Autodesk/Maya2011/bin/maya.exe"
但它给了我
$ ma
bash: /cygdrive/c/Program: No such file or directory
所以,如果你们对如何解决这个问题有任何想法,那就太棒了!
干杯
SK
PS:我编辑我的问题因为我不允许回答我自己的问题
感谢您的帮助!
我尝试用Progra~1 synthax替换它并不起作用。所以我想知道pb是否来自太空人物。
所以我尝试创建一个不需要空格字符的.exe别名:
alias py1="/cygdrive/c/Python27/python.exe"
alias py2='/cygdrive/c/Python27/python.exe'
alias py3=/cygdrive/c/Python27/python.exe
alias py4='cd /cygdrive/c/Python27'
我也收到错误
$ py1
: No such file or directorypython.exe
$ py2
: No such file or directorypython.exe
$ py3
: No such file or directorypython.exe
$ py4
: No such file or directoryn27
所以我想知道用于创建Alias的cygwin synthax是否与Linux相同? 或者Windows 7 x64可能有问题?我真的不知道问题出在哪里?
答案 0 :(得分:2)
两种可能的解决方法:
使用Program Files
或
Progra~1
创建一个符号链接以删除空格:mklink /D c:\programs "c:\Program Files"
(afair,mklink
仅从Vista开始)
答案 1 :(得分:2)
使用像免费Notepad++这样的高级编辑器来修改非DOS格式的.bashrc文件。不要使用Microsoft的记事本因为将CRLF解释为换行符。虽然在Mac / Unix上换行只是LF。如果你错误地转换并保存了文件,你可以在cygwin \ etc \ skel中找到原文的副本。
要显示文件中使用的行尾符号,请在Notepad ++中使用View - >显示符号 - >显示行尾。
答案 2 :(得分:0)
更简单的解决方案是将Autodesk目录从C:\ Program Files \移动到C:\
答案 3 :(得分:0)
我重新安装了cygwin,现在情况好转了
当我只把这个
alias wp="/cygdrive/c/Program\ Files/Windows\ NT/Accessories/wordpad.exe"
它现在有效!但是当我进入这个
alias wp="/cygdrive/c/Program\ Files/Windows\ NT/Accessories/wordpad.exe"
alias nk="/cygdrive/c/Program\ Files/Nuke6.2v1/Nuke6.2.exe"
wp给我一个错误
$ wp
: No such file or directoryiles/Windows NT/Accessories/wordpad.exe
但nk别名有效
所以我认为问题来自记事本创建的回车字符,我试试这个:
alias wp="/cygdrive/c/Program\ Files/Windows\ NT/Accessories/wordpad.exe" nk="/cygdrive/c/Program\ Files/Nuke6.2v1/Nuke6.2.exe" ma="/cygdrive/c/Program\ Files/Autodesk/Maya2011/bin/maya.exe"
它完美无缺!
所以在我的情况下,pb是我猜在记事本中创建的回车,它可能会创建一个cygwin不喜欢的隐藏字符。我将尝试直接在vi中编辑我的.bashrc,以查看pb是来自记事本还是直接来自回车。
如果你检查一下这种语法是否适用于你的计算机,那将会很有趣
alias myalias1="/cygdrive/c/.../pgm1.exe"
alias myalias2="/cygdrive/c/.../pgm2.exe"
alias myalias3="/cygdrive/c/.../pgm3.exe"
再次感谢您的支持!
欢呼!答案 4 :(得分:0)
+1用于保存带有Cygwin的.bashrc,.profile等文件类型:例如使用TextPad时,请确保在Save上选择文件类型Unix。没有它......各种各样的陌生感。