![如何在 shell 脚本中从 xdg-open 返回](https://linux22.com/image/1206980/%E5%A6%82%E4%BD%95%E5%9C%A8%20shell%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BB%8E%20xdg-open%20%E8%BF%94%E5%9B%9E.png)
我有一些 shell 函数可以让我在浏览器中快速打开某些内容,例如:
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
}
该函数加载到我的 shell 启动脚本中,并且运行良好,repo 问题按预期在我的浏览器中打开,但是我必须手动退出终端中的该函数,然后ctrl + c才能在终端中再次输入。
答案1
xdg-open
将它运行的命令与终端分离,因此您的终端可能被释放。只是,您会看到浏览器的一些输出,而不是命令提示符。只需按Ctrl+L或输入命令clear
即可返回到整洁的终端提示符。
出于美观原因,您可以在命令后/dev/null
添加将终端输出重定向到。或者,在命令前添加也可以。这会立即将命令与终端分离并重定向其输出。1>/dev/null 2>&1
nohup
xdgopen