bash - expanze parametru s mezerou
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Středa Duben 11 18:01:41 CEST 2001
borik na zce.cz (Jiri Borik) writes:
> Asi jsem se nepresne vyjadril.
Dobre formulovana otazka je zaklad.
> To by mujprikaz mel v $1 vsechny parametry dohromady. Ja chci ale
> volat treba
>
> mujprikaz a 'b1 b2' c
>
> kde potrebuju aby $2='b1 b2'
>
> Zkousel jsem ze zoufalstvi vkladat '\' na ruzna mista, ale varianta s
> $2="b1 b2" se mi nepodarila.
V kazde rozumne knize o shellu by melo byt uvedeno poradi vyhodnoceni
prikazove radky. Prectete-li, pochopite. Neni to zadna veda:
$ cat a1
#!/bin/bash
function mujprikaz {
echo "prvni parametr = _$1_ , druhy parametr = _$2_"
}
cisla="1 2 3 4"
par1='a "b1 b2" c'
par2="a \"b1 b2\" c"
par3="a \"$cisla\" b"
eval mujprikaz $par1
eval mujprikaz $par2
eval mujprikaz $par3
$ ./a1
prvni parametr = _a_ , druhy parametr = _b1 b2_
prvni parametr = _a_ , druhy parametr = _b1 b2_
prvni parametr = _a_ , druhy parametr = _1 2 3 4_
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux