2010-08-20 21 views
12

He creado varios alias de bash en Git Bash en Windows, para iniciar ejecutables desde el shell bash.Git Bash: Inicie la aplicación a través de Alias ​​sin colgar Bash (Windows)

El problema que estoy teniendo es que parece que el bash está esperando un código de salida antes de que comience a responder a la entrada de nuevo, ya que una vez que cierro la aplicación que inició, comienza a tomar comandos nuevamente.

¿Hay algún interruptor o algo que pueda incluir en el alias para que bash no espere el código de salida?

Busco algo como esto ...

alias np=notepad.exe --exit 
+1

¿Ha intentado ejecutarlo con un &? así que en lugar de hacer > bloc de notas.exe > notepad.exe & – George

Respuesta

7

confirmo lo George menciones en los comentarios:

el lanzamiento de su alias con '&' le permite continuar sin esperar a que el código de retorno.

alt text

Con:

alias npp='notepad.exe&' 

que ni siquiera tendrá que escribir la '&'.


Pero para la inclusión de parámetros, recomendaría un script (en lugar de un alias)colocarse en cualquier lugar dentro de su trayectoria, en un archivo llamado "npp":

/c/WINDOWS/system32/notepad.exe $1 & 

permitiría para abrir cualquier archivo con "npp anyFile" (no es necesario '&'), sin esperar el código de retorno.

Una secuencia de comandos como:

for file in $* 
do 
    /c/WINDOWS/system32/notepad.exe $file & 
done 

podría lanzar varios editores, uno por cada archivo de parámetros:

npp anyFile1 anyFile2 anyFile3 

que permitiría

+0

Sí, entiendo eso, pero ¿qué sucede si quiero ejecutar el bloc de notas? para abrir un archivo y no esperar un código de retorno? – ctorx

+0

@Matthew: lo tengo. Ver mi respuesta actualizada. – VonC

4

Siga el comando con un signo (&) para ejecutarlo en el fondo.

+0

¿Es posible incluir el & en el alias? Por ejemplo, quiero hacer esto ... alias np = 'notepad.exe $ * &', donde $ * son los parámetros especificados cuando se usa el alias ... (el nombre de archivo para abrir). – ctorx

+0

Si edita el archivo de configuración de git ('.git/config') directamente (en la sección' alias'), probablemente pueda agregar 'y' allí. (No puede agregarlo desde la línea de comandos porque se interpretará como parte del comando para configurar el alias, no como parte del alias). – Amber

2

combiné la solución de VonC y esto https://stackoverflow.com/a/7131683/1020871 a obtener un alias que ejecuta un ejecutable y pasa los parámetros sin bloquear el git bash. Añadir lo siguiente a la .bashrc:

npp() { 
    notepad++.exe $* & 
} 

startGitk() { 
    gitk $* & 
} 
alias gitk=startGitk 

Ahora pueden abrir varios archivos como Notepad ++ npp .gitignore build.gradle o gitk con argumentos personalizados como gitk test -- .gitignore.

Tenía un alias similar para npp como para gitk pero encontré que podía llamar a la función directamente. También puedo llamar a startGitk pero no funcionó cuando lo llamé gitk.