Bash a argument s mezerami

Martin Kraus martin.kraus na infonet.cz
Středa Září 14 10:47:56 CEST 2005


On Wed, Sep 14, 2005 at 03:08:50AM +0200, Dalibor Straka wrote:
> On Mon, Sep 12, 2005 at 07:27:09PM +0200, Miroslav Vancl wrote:
> > > no ja bych plynule navazal a zeptal se na nasledujici:
> > >
> > > mam promennou ve ktere je neco jako
> > >
> > > 'a b "c d"' 
> > >
> > > a chtel bych to rozparsovat v cyklu na jednotlive substringy, tedy
> > > abych dostal vysledne:
> > >
> > > a
> > > b
> > > c d
> > 
> > Ne, ze by se mi to nejak moc libilo, ale jde to treba takhle:
> > 
> > a='a b "c d"'
> > eval "for i in $a ;do echo \$i ;done"
> > 
> Treba vam pomuze toto:
> IFS=,
> a='a,b,c d,e'
> for i in $a; do echo $i; done
> a
> b
> c d
> e

no problem je v tom, ze pak argument obsahujici carku zase nebude pouzitelny.
chtel bych parsovat seznam souboru tak aby mohly obsahovat vsechny znaky
pouzitelne normalne.
mk


Další informace o konferenci Linux