¿Cómo agregar una cadena a una línea de comando bash?

2

Estoy seguro de que esta es una pregunta recurrente, pero no pude encontrar una que tuviera una respuesta que se ajustara a mi problema.

Lo que quiero hacer es algo como esto:

alias disexit = " & disown & exit"
gnome-calculator disexit

Entonces correría la línea de comando

gnome-calculator & disown & exit

Por lo tanto, como resultado, tendría una instancia de la calculadora ejecutándose y ningún terminal flotando detrás de ella, sin tener que escribir manualmente todo.

Si es posible, me gustaría tener ese alias para que sea permanente.

Gato nerd
fuente
Para futuras referencias, usuarios novatos, etc., es bueno explicar por qué su alias no funciona. Es porque el nombre de alias debe ser la primera palabra de un comando simple.
Kamil Maciorowski

Respuestas:

3

Así no es como aliasfunciona (y AFAIK lo que quieres no se puede hacer sin modificarse bash), pero si no te importa una sintaxis ligeramente diferente, puedes agregar algo como

disexit(){
    "$@" & disown & exit
}

a su .bashrc(para hacer esta función permanente), y llamarlo como

disexit gnome-calculator
Zombie Feynman
fuente
Lo siento, no noté tu respuesta mientras escribía la mía.
AFH
0

No puedes hacer esto con un alias. Sin embargo, lo que puede hacer es codificar una función:

disexit() { "$1" & disown & exit; }

Pero deberá llamar a esto al revés:

disexit gnome-calculator

Esto es lo más cerca que estará de sus requisitos con la bashsintaxis.

Para que esté permanentemente disponible, simplemente agregue la definición de función a ~/.bashrc.

AFH
fuente
0

¿No puedes simplemente correr nohupantes del comando deseado? Como en

nohup gnome-calculator &
Xen2050
fuente