我正在尝试调用包含多个(嵌套)引号的 shell 命令。例如,这是我在 shell 上写的内容:
$ python -c "print \"Hello World\""
产生Hello World
。我发现这里\input
当使用 启动时,可以从标准输出读取 。|
然而,下面的结果并不是我想要的,这并不奇怪:
\input{|"python -c "print \"Hello World\"""}
如同这个问题,以下操作可正常进行:
\immediate\write18{python -c "print \string\"Hello World\string\"" > \jobname.pyout}
\input{\jobname.pyout}
但需要临时文件。另外,使用\detokenize
似乎可以与以下方法配合使用\write18
:
\immediate\write18{\detokenize{python -c "print \"Hello World\""} > \jobname.pyout}
\input{\jobname.pyout}
有没有不需要写入文件的解决方案?