Fórum Root.cz

Hlavní témata => Software => Téma založeno: macík 25. 02. 2018, 12:06:08

Název: Jak v do terminálu zapsat string bez escapování?
Přispěvatel: macík 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
Název: Re:jak v do terminálu zapsat string bez escapování?
Přispěvatel: Ravise 25. 02. 2018, 12:31:27
Ano, je.
Název: Re:jak v do terminálu zapsat string bez escapování?
Přispěvatel: macík 25. 02. 2018, 12:42:16
 ;D TO je dobrá zpráva. :o A jak? bez ručního přepisování myslím  :-[
Název: Re:jak v do terminálu zapsat string bez escapování?
Přispěvatel: y, 25. 02. 2018, 14:52:31
napr. here-docs:


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

vypise

"d'"
$x
Název: Re:jak v do terminálu zapsat string bez escapování?
Přispěvatel: jiwopeneQWERTGHFCZX 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.