首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让command2在执行command1 \ command2时等待command1退出?

如何让command2在执行command1 \ command2时等待command1退出?
EN

Stack Overflow用户
提问于 2019-04-17 15:55:54
回答 1查看 100关注 0票数 1

为了浏览所选的URL,我尝试将dmenu的输出输送到冲浪(浏览器)。我在做:

代码语言:javascript
复制
cat ~/.surf/bookmarks | dmenu | surf

但是在dmenu以我选择的URL退出之前,冲浪就开始了。这意味着它没有用正确的URL打开。我不知道问题是什么,因为dmenu在做出选择之后会打印到标准输出的URL,而surf使用URL作为其参数。为了澄清,书签文件只包含单独行上的URL。

我在i3中使用这个作为一个bindsym。我也试过

代码语言:javascript
复制
surf (cat ~/.surf/bookmarks | dmenu)

鱼壳语法,因为那是我的shell。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-18 08:44:39

正如tkauusl的注释中所提到的,surf应该将URL作为命令行参数,而不是管道到stdin

对于bash和POSIX兼容的shell,可以使用以下语法:

代码语言:javascript
复制
surf $(cat ~/.surf/bookmarks | dmenu)

对于其他您可能不得不使用的shell

代码语言:javascript
复制
surf `cat ~/.surf/bookmarks | dmenu`

如果URL可以包含空格,则应该引用命令替换的结果。

代码语言:javascript
复制
surf "$(cat ~/.surf/bookmarks | dmenu)"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55731646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档