Como anexar uma string a uma linha de comando bash?

2

Tenho certeza de que essa é uma pergunta recorrente, mas não consegui encontrar uma que tivesse uma resposta que atendesse ao meu problema.

O que eu quero fazer é algo assim:

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

Por isso, seria executado a linha de comando

gnome-calculator & disown & exit

Portanto, como resultado, ele teria uma instância da calculadora em execução e nenhum terminal flutuando atrás dela, sem precisar escrever manualmente a coisa toda.

Se possível, gostaria de ter esse alias para ser permanente.

    
por Nerdy Cat 20.09.2017 / 18:47

3 respostas

3

Não é assim que alias funciona (e o AFAIK o que você quer não pode ser feito sem modificar o bash em si), mas se você não se importa com uma sintaxe ligeiramente diferente, pode adicionar algo como

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

para o seu .bashrc (para tornar esta função permanente) e chamá-lo como

disexit gnome-calculator
    
por 20.09.2017 / 19:08
0

Você não pode fazer isso com um alias. O que você pode fazer, no entanto, é codificar uma função:

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

Mas você precisará chamar o contrário:

disexit gnome-calculator

Este é o mais próximo que você chegará aos seus requisitos com a sintaxe bash .

Para torná-lo permanentemente disponível, basta adicionar a definição da função a ~/.bashrc .

    
por 20.09.2017 / 19:14
0

Você não pode simplesmente executar nohup antes do comando desejado? Como em

nohup gnome-calculator &
    
por 22.09.2017 / 07:24