【问题标题】:Bash: process substitution inside a stringBash:字符串内的进程替换
【发布时间】:2014-09-08 22:01:26
【问题描述】:

在 bash 中,如果我键入命令 foo bar <(qux),它将启动 foo 程序,其参数将是 bar/dev/fd/63(或类似的东西)。

如果我输入命令foo "bar <(qux)",它将启动 foo 程序,其参数将为bar <(qux)

如何使用单个参数 bar /dev/fd/63 启动 foo?

【问题讨论】:

  • 你能详细说明你为什么要这样做吗?看起来很奇怪。
  • 据说解决方案对我来说似乎很清楚。回想一下,shell 在空白处拆分,您可以将引号放在您想要的任何位置。
  • @danfuzz 我想要这个,因为我有一个 shell 脚本,可以从网络下载 TS 视频流并将其吐出到标准输出。我想在我的程序中播放它,该程序接受 GStreamer 管道的一部分作为参数。我想启动my_player "filesrc location="<(my_script)" ! decodebin" ...

标签: bash bash4


【解决方案1】:

只是稍微改变引用:

foo "bar "<(qux)

【讨论】:

  • 堆栈溢出答案对我来说是个宝;)
猜你喜欢
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
  • 2012-08-09
  • 2015-02-05
  • 2015-03-17
  • 2017-01-13
  • 2015-06-08
  • 1970-01-01
相关资源
最近更新 更多