2

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

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

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

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

gnome-calculator & disown & exit

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

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

3 ответа3

3

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

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

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

disexit gnome-calculator
0

Разве вы не можете просто запустить nohup перед желаемой командой? Как в

nohup gnome-calculator &
0

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

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

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

disexit gnome-calculator

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .