1

In bash if I type a command foo bar <(qux) it will launch the foo program and its parameters will be bar and /dev/fd/63 (or something like that).

If I type a command foo "bar <(qux)" it will launch the foo program and its parameter will be bar <(qux).

How can I lauch foo with a single parameter bar /dev/fd/63?

etam1024
  • 843
  • 1
  • 7
  • 17
  • 1
    Can you elaborate why you even want to do this? Seems pretty odd. – danfuzz Jul 17 '14 at 21:12
  • 1
    That being said the solution seems pretty clear to me. Just recall that the shell splits on whitespace and you can put quotes wherever you want. – Etan Reisner Jul 17 '14 at 21:14
  • @danfuzz I want this, because I have a shell script that downloads TS video stream from web and spits it to stdout. And I want to play it in my program that accepts as a parameter a part of GStreamer pipeline. I want to launch `my_player "filesrc location="<(my_script)" ! decodebin" ...`. – etam1024 Jul 18 '14 at 07:30

1 Answers1

4

Just change quoting little bit:

foo "bar "<(qux)
anubhava
  • 761,203
  • 64
  • 569
  • 643