У меня есть несколько функций оболочки, которые позволяют мне быстро открыть что-то в браузере, например:
issue () {
if [[ -z "$1" ]]
then
xdg-open "https://github.com/myname/myrepo/issues/$(git branch | grep '*' | grep -Poh '\d+')"
else
xdg-open "https://github.com/myname/myname/issues/$1"
fi
}
Эта функция загружается в мои сценарии запуска оболочки, и она отлично работает, выпуск репозитория открывается в браузере, как и ожидалось, однако мне приходится вручную выходить из функции в терминале с помощью ctrl + c, прежде чем я смогу снова набрать текст в терминале.
xdg-open
отделяет выполняемую команду от терминала, поэтому, вероятно, ваш терминал освобожден. Только вы видите некоторый вывод браузера, а не командную строку. Просто нажмите Ctrl + L или дайте команду clear
, чтобы вернуться в аккуратную подсказку терминала.
Из эстетических соображений можно перенаправить вывод терминала на / dev / null
, добавив 1> / dev / null 2> & 1
после команды. В качестве альтернативы можно добавить к команде nohup
. Это немедленно отключает команду xdgopen
от терминала и перенаправляет ее вывод.