Ich kann viele Antworten finden, die echo
, Rohre |
und sed
für diesen Zweck verwendet, aber ich möchte sie vermeiden. Also suche nach direkter Substitution.Ersatz env var in Zeichenkette Argument übergeben von der Befehlszeile
Ich möchte env var definieren und es innerhalb der Zeichenfolge wiederverwenden, die an das Befehlszeilenargument der Anwendung übergeben wird, d. H. Rscript -e '...'
.
Unten ist, was ich ohne Erfolg versucht habe.
Rscript -e 'cat("hello\n")'
#hello
export ASD="HELLO!"
Rscript -e 'cat("$ASD\n")'
#$ASD
Rscript -e 'cat("${ASD}\n")'
#${ASD}
Rscript -e 'cat("$(ASD)\n")'
#$(ASD)
Ich will nicht echo
und |
Rohre als mein eigentliches -e
Argument Anwendung verwenden ist viel komplexer.
Wenn es kompliziert ist, sollten Sie das Skript zuerst in eine Datei schreiben. – chepner
Variablen ersetzen keine einfachen Anführungszeichen. Wäre ''cat (' '' '$ ASD' '' '' '' was du suchst? – rici
Jemand stimmt ab, mit * unklar, was du fragst *. Ist das nicht beispielhaft dafür nicht klar? @rici sieht gut aus, wird sehen, ob es funktioniert. – jangorecki