Как добавить строку в командную строку bash?

Я уверен, что это повторяющийся вопрос, но мне не удалось найти ответ, который бы соответствовал моей проблеме.

Что я хочу сделать, это что-то вроде этого:

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

Так что будет запускать командную строку

gnome-calculator & disown & exit

Следовательно, в результате будет запущен экземпляр калькулятора, а за ним не будет терминала, без необходимости писать все целиком вручную.

Если возможно, я бы хотел, чтобы этот псевдоним был постоянным.

3 ответа

Это не так alias работает (и AFAIK то, что вы хотите, не может быть сделано без изменения bash само по себе), но если вы не возражаете против немного другого синтаксиса, вы можете добавить что-то вроде

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

на ваш .bashrc (чтобы сделать эту функцию постоянной), и вызвать ее как

disexit gnome-calculator

Вы не можете сделать это с псевдонимом. Однако вы можете написать код функции:

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

Но вам нужно будет назвать это наоборот:

disexit gnome-calculator

Это самое близкое к вашим требованиям bash синтаксис.

Чтобы сделать его постоянно доступным, просто добавьте определение функции в ~/.bashrc,

Ты не можешь просто бежать nohup перед желаемой командой? Как в

nohup gnome-calculator &
Другие вопросы по тегам