Запустить команду в gnome-terminal, а затем закрыть gnome-terminal без завершения команды?

Эта работа для меня:

bower install --force

, где --force для принудительной установки

2
задан 5 November 2017 в 12:43

3 ответа

Решение вашей проблемы

Правильное решение здесь состоит в том, чтобы опустить вызовы gnome-terminal и bash и даже установить ненужную переменную в первую очередь, все это не нужно в вашем случае:

mpv -- "$(yad --entry)"

Я добавил кавычки для правильной обработки URL-адреса, что гарантирует, что он может содержать, например, пробелы и знаки амперсанда (&), и команда все еще работает. -- сообщает mpv прекратить поиск параметров и обрабатывает все, что вы решите, чтобы дать ему вместо аргумента. Образ обычного случая, когда у вас есть файл с именем --version в каталоге, в котором вы запускаете mpv, и просто введите это имя файла, как mpv знает, показывать ли его строку версии или открыть файл?

[d3 ] Ответ на ваш вопрос

nohup или disown можно использовать для отсоединения процесса от запущенной оболочки, см. Раздел «Различия между« & lt; command & gt; & Амп; открестился & Quot; и "nohup & lt; command & gt; & Амп; disaw ".

В вашем случае правильное решение будет:

gnome-terminal -e nohup mpv -- "$(yad --entry)"

Однако для гораздо лучшего решения см. выше.

11
ответ дан 22 May 2018 в 16:47
  • 1
    Большое спасибо за понимание. Работает очень просто. :) – JaSauders 6 November 2017 в 03:07

Решение вашей проблемы

Правильное решение здесь состоит в том, чтобы опустить вызовы gnome-terminal и bash и даже установить ненужную переменную в первую очередь, все это не нужно в вашем случае:

mpv -- "$(yad --entry)"

Я добавил кавычки для правильной обработки URL-адреса, что гарантирует, что он может содержать, например, пробелы и знаки амперсанда (&), и команда все еще работает. -- сообщает mpv прекратить поиск параметров и обрабатывает все, что вы решите, чтобы дать ему вместо аргумента. Образ обычного случая, когда у вас есть файл с именем --version в каталоге, в котором вы запускаете mpv, и просто введите это имя файла, как mpv знает, показывать ли его строку версии или открыть файл?

Ответ на ваш вопрос

nohup или disown можно использовать для отсоединения процесса от запущенной оболочки, см. Раздел «Различия между« & lt; command & gt; & Амп; открестился & Quot; и "nohup & lt; command & gt; & Амп; disaw ".

В вашем случае правильное решение будет:

gnome-terminal -e nohup mpv -- "$(yad --entry)"

Однако для гораздо лучшего решения см. выше.

11
ответ дан 18 July 2018 в 03:52

Решение вашей проблемы

Правильное решение здесь состоит в том, чтобы опустить вызовы gnome-terminal и bash и даже установить ненужную переменную в первую очередь, все это не нужно в вашем случае:

mpv -- "$(yad --entry)"

Я добавил кавычки для правильной обработки URL-адреса, что гарантирует, что он может содержать, например, пробелы и знаки амперсанда (&), и команда все еще работает. -- сообщает mpv прекратить поиск параметров и обрабатывает все, что вы решите, чтобы дать ему вместо аргумента. Образ обычного случая, когда у вас есть файл с именем --version в каталоге, в котором вы запускаете mpv, и просто введите это имя файла, как mpv знает, показывать ли его строку версии или открыть файл?

Ответ на ваш вопрос

nohup или disown можно использовать для отсоединения процесса от запущенной оболочки, см. Раздел «Различия между« & lt; command & gt; & Амп; открестился & Quot; и "nohup & lt; command & gt; & Амп; disaw ".

В вашем случае правильное решение будет:

gnome-terminal -e nohup mpv -- "$(yad --entry)"

Однако для гораздо лучшего решения см. выше.

11
ответ дан 24 July 2018 в 17:56

Другие вопросы по тегам:

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