Jak v do terminálu zapsat string bez escapování?

macík

Jak v do terminálu zapsat string bez escapování?
« kdy: 25. 02. 2018, 12:06:08 »
Je nějaká možnost (jenom něco skromně malého potřebuji do OS X), jak do terminálu vložit řetězec jakožto hodnotu nějakého parametru příkazu bez nějakého dlouhého laborování s  <<, <<< , správným typem uvozovek nebo spouštěním programu na escapování, nebo vymýšlením přeskupování příkazů a řetězení.

Řetězec obsahuje nové řádky, vykřičník, dvoje druhy uvozovek.
-Nejde uzavřít '
-Nejde uzavřít "
-Nejde uzavřít <<bla – a=<<bla Ctrl+V Enter Bla - proměnná se neuloží vůbec. (echo $a vypíše prázdný řádek), zkoušeno s ',"

Nepotřebuji hodnotu někam ukládat do proměnné, ani ji víckrát použít. jen třeba příkaz curl -x1  "a=c&{ vložit zde něco 1.}" -x 2 , G={ zde něco 2.hého} -x abcd... Přičemž, výrazy bych postupně vkládal  ze schránky
« Poslední změna: 25. 02. 2018, 20:56:22 od Petr Krčmář »


Ravise

  • ***
  • 111
    • Zobrazit profil
    • E-mail
Re:jak v do terminálu zapsat string bez escapování?
« Odpověď #1 kdy: 25. 02. 2018, 12:31:27 »
Ano, je.

macík

Re:jak v do terminálu zapsat string bez escapování?
« Odpověď #2 kdy: 25. 02. 2018, 12:42:16 »
 ;D TO je dobrá zpráva. :o A jak? bez ručního přepisování myslím  :-[

y,

Re:jak v do terminálu zapsat string bez escapování?
« Odpověď #3 kdy: 25. 02. 2018, 14:52:31 »
napr. here-docs:


$ cat - <<'EOF'
"d'"
$x
EOF

vypise

"d'"
$x

jiwopeneQWERTGHFCZX

Re:jak v do terminálu zapsat string bez escapování?
« Odpověď #4 kdy: 25. 02. 2018, 15:50:00 »
Kód: [Vybrat]
"$(cat)" jako parametr.
Začne se načítat text, pak zmáčknete Ctrl-D (End Of Transmission) a spustí se příkaz. Je-li uvedeno několikrát, Ctrl-D začne načítat text do dalšího parametru a u posledního spustí příkaz.