Comandos bash não bloqueantes?

2

Então, acabei de criar o .bash_aliases e escrevi o seguinte:

callNotepad(){
     wine C:\Program\ Files\Notepad++\notepad++.exe 
}

alias notepad++=callNotepad

Agora, se o notepad ++ já está em execução ou não, se não abrir o notepad ++ e de qualquer forma, ele abre o arquivo que eu especificar quando eu chamar

notepad++ someFile

No entanto, se o notepad ++ não estava sendo executado antes desse comando, ele me fornece um

  

fixme: ole: RemUnknown_QueryInterface Nenhuma interface para o iid   {00000019-0000-0000-c000-000000000046}

e depois bloqueia o terminal de chamada enquanto o bloco de notas estiver sendo executado.

Como eu implementaria esse alias corretamente? Pois não tenho ideia do que esse fixme deve me dizer.

Além disso, eu preferiria não ter que abrir um segundo terminal depois de abrir um arquivo no notepad ++ (ctrl + C reabilita o terminal, mas fecha o notepad ++).

    
por User1291 19.09.2013 / 21:56

1 resposta

1

Execute o comando em segundo plano .

callNotepad(){
     wine 'C:\Program Files\Notepad++\notepad++.exe' "" &
}

Se você quiser silenciar os erros, redirecione-os para o silêncio.

callNotepad(){
     wine 'C:\Program Files\Notepad++\notepad++.exe' "" 2>/dev/null &
}

Observe que isso também pode silenciar erros úteis, portanto, use a seu próprio risco.

    
por Gilles 19.09.2013 / 22:03