/bin/sh: problem s expanziou premennej

Jozef Hitzinger hitzinger na phobos.fphil.uniba.sk
Čtvrtek Květen 4 11:08:47 CEST 2000


Zdravim .. mam v skripte for slucku, ktora ma bezat cez niekolko ciest s 
wildcardom, tak aby sa * rozexpandovala az v tele cyklu, aha takto:

#!/bin/sh
for i in '/tmp/pokus/*/Maildir/new' '/tmp/pokus2/*/Maildir/new'; do { 
  echo "Checking $i"
  grep $i $1 --files-with-matches >> /tmp/0mail.tmp;
} done

To funguje - pise Checking /tmp/pokus/*/Maildir/new a pre grep * expanduje.


Chcel som zoznam tych adresarov strcit do premennej a tu dat na zaciatok
skriptu (povedzme, ze mam takych sluciek viac a zoznam adresarov chcem mat
len na jednom mieste, ok?), ale stale tam mam apostrofy navyse.

Babrem sa s tym uz pol dna a jedine co som objavil je toto:

  for i in 'a' 'b' 'c'; do { echo " $i"; } done  dava  a\n b\n c\n
  hello="'a' 'b' 'c'"; echo $hello               dava  'a' 'b' 'c'
  for i in $hello; do { echo " $i"; } done       dava  'a'\n 'b'\n 'c'\n

Takze som to "vyriesil" stylom

  for i in $hello; do { echo " `echo $i| sed s/\'//g`"; } done 
                                            
co dava zelane a\n b\n c\n, ale je to pekny shit.

Da sa to urobit bez sed-u? Kde robim chybu ked si myslim ze prvy a treti
riadok maju dat to iste? Dik ..

-- 
jozef  :-)  



Další informace o konferenci Linux