带有空格的Pb .bashrc ALIAS

时间:2011-07-08 13:02:11

标签: cygwin alias spaces

我有完全相同的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可能有问题?我真的不知道问题出在哪里?

5 个答案:

答案 0 :(得分:2)

两种可能的解决方法:

  1. 使用Program Files

  2. 替换路径中的Progra~1
  3. 创建一个符号链接以删除空格: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。没有它......各种各样的陌生感。