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

390
Nerdy Cat

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

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

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

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

gnome-calculator & disown & exit 

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

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

2
Для дальнейшего использования, начинающих пользователей и т. Д. Хорошо объяснить, почему ваш псевдоним не работает. Это потому, что псевдоним должен быть первым словом простой команды. Kamil Maciorowski 7 лет назад 0

3 ответа на вопрос

3
Zombie Feynman

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

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

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

disexit gnome-calculator 
Извините, я не заметил вашего ответа, когда набирал свой. AFH 7 лет назад 0
0
AFH

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

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

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

disexit gnome-calculator 

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

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

0
Xen2050

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

nohup gnome-calculator & 

Похожие вопросы