Bash / Cygwin - aliases não se comportando como comando

1

Estou tentando fazer com que o Cygwin configure as ferramentas que eu uso no Windows e estou tendo alguns problemas. De este post , descobri que podia especificar o Notepad ++ como meu editor usando

alias notepad="/cygdrive/c/Program\ Files\ \(x86\)/Notepad++/notepad++.exe"

E isso funciona quando eu o executo pela linha de comando

notepad $( cygpath -pw ~/.bashrc ) &

abre meu arquivo .bashrc, no entanto, quando tento e faço disso um alias

alias settings="notepad $( cygpath -pw ~/.bashrc ) &"

e digite settings eu recebo o erro get

C:\Program Files (x86)\Notepad++\cygwin64homeuser.bashrc doesn't exist. Create it?

Eu tentei definir uma variável e tive ainda mais problemas. O que estou fazendo errado?

    
por user1543042 13.08.2018 / 04:50

1 resposta

2

Você está usando aspas duplas no comando alias, portanto, o que estiver entre aspas duplas será executado no momento em que você estiver configurando o alias . Você precisa usar aspas simples ao redor da definição do alias, para que as variáveis sejam resolvidas quando o alias for usado. Por exemplo, tente estes dois:

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

Você verá que wtf1 relata corretamente o diretório atual, enquanto wtf2 parece estar preso no diretório em que você estava quando configurou o alias.

    
por 13.08.2018 / 07:02