Ich versuche, Shell-Befehle aufzurufen, die mehrere (verschachtelte) Anführungszeichen enthalten. Dies ist beispielsweise das, was ich in die Shell schreiben würde:
$ python -c "print \"Hello World\""
das ergibt Hello World
. Ich fandHier
das \input
von der Standardausgabe lesen kann, wenn es mit einem gestartet wird |
. Es ist jedoch nicht überraschend, dass das Folgende nicht das erzeugt, was ich will:
\input{|"python -c "print \"Hello World\"""}
Ähnlich zudiese Fragefunktioniert Folgendes einwandfrei:
\immediate\write18{python -c "print \string\"Hello World\string\"" > \jobname.pyout}
\input{\jobname.pyout}
erfordert aber eine temporäre Datei. Außerdem \detokenize
scheint die Verwendung mit zu funktionieren \write18
:
\immediate\write18{\detokenize{python -c "print \"Hello World\""} > \jobname.pyout}
\input{\jobname.pyout}
Gibt es eine Lösung, bei der keine Datei geschrieben werden muss?