.bashrc não está funcionando no Cygwin

3

Eu instalei recentemente a última versão do Cygwin. No momento, estou apenas configurando alguns alias e funções para usar. O Cygwin está lendo o arquivo .bashrc corretamente, porque algum alias está funcionando, eu só tenho um problema com esta função:

sublime () {
    cygstart "c:/Program Files (x86)/Sublime Text 2/sublime_text.exe" "'cygpath -w $1'" 
}

O que estou tentando alcançar é que o Cygwin me permita fazer algo assim:

tom@tom-pc ~
$ sublime myfile.ext

Em vez disso:

tom@tom-pc ~
$ cygstart "c:/Program Files (x86)/Sublime Text 2/sublime_text.exe" myfile.ext

Como posso resolver este problema? Eu tentei usar aspas simples e escapar a seqüência de caminho e nada ... Também não sei qual linguagem de programação é usada para executar essas funções, então eu não posso consertar isso.

    
por Tomás Ramírez 26.11.2012 / 03:02

1 resposta

2

Edit: Resposta completamente revisada após o tópico do comentário

Parece que o problema é que seu .bashrc tem duas partes separadas por [[ "$-" != *i* ]] && return . A primeira parte é executada para todos os shells, a segunda parte é executada apenas para shells interativos. A definição da função foi colocada na segunda parte e, portanto, a função não é definida em shells não interativos.

Solução: coloque sublime () { ... } antes da linha return .

    
por 26.11.2012 / 03:05