Clovek se fakt porad uci, myslel jsem si, ze bash znam. :-) Nekdy je treba v
promenne binec, divoke znaky, ktere jsou schopne rozbourat predavani.
Obycejny quoting typu "$PAR" nemusi stacit. Bash ale umi dva zpusoby, kterym
quotovani bezpecne prida.
1. pomoci expanze: ${PAR@Q}
2. pomoci printf %q "$PAR"
Funguje i ${*@Q} pro expanzi vsech pozicnich parametru.
Priklad:
# Pomoci Ctrl-V vlozene znaky tab, \r a \n, pak je tam apostrof a uvozovky.
$ FF='tab nl^Mnnl
apo'\''quot"'
$ echo $FF
nnl apo'quot"
$ echo "$FF"
nnl nl
apo'quot"
$ echo ${FF@Q}
$'tab\tnl\rnnl\napo\'quot"'
$ printf %q "$FF" ; echo
$'tab\tnl\rnnl\napo\'quot"'
Super nastroj!
Vic povidani: https://stackoverflow.com/a/39463371/340581
T.
|