sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #03783
Re: For l�i et shell script
Lasse Wieslander wrote:
>
> for fil in *.tar.gz
> do
> bla bla bla bla
> done
>
> for at gøre noget for hver tar.gz fil MEN hvis der ikke er nogle filer
> gennemkøres lykken en gang med *.tar.gz i $fil
Der er flere måder , en :
for fil in xxxbla *.tar.gz
do
if [ "$fil" != "xxxbla" -a -r "fil" ] ; then
bla bla bla
fi
done
"xxxbla" er en dummy så der er mindst et udtryk.
efterfølgende if sætning sorterer denne fra, og checker at "fil"
er læsbar. egentlig kunne man nøjes med at teste for om $fil er læsbar...
>
> Nogle der har ide til om man kan undgå det?
> Og eller gerne en måde man kan se om en fil eksisterer, altså if en fil
> eksisterer then...
>
> Og er der nogen der ved hvor der ligger dokumentation til shell-scripts??
"man tcsh" "man bash" "man zsch" .......
Derudover anvender bla. bash, sh, ... "test" kommandoen:
if test x$1 = x
then
...
else
...
fi
eller
if [ x$1 = x ]
then
.....
Du vil opdage at /usr/bin/[ og /usr/bin/test er samme fil (hardlinked) :
156606 -rwxr-xr-x 2 root root 16956 nov 4 1997 /usr/bin/[
156606 -rwxr-xr-x 2 root root 16956 nov 4 1997 /usr/bin/test
--
mvh Frank Damgaard frda@xxxxxxxxxxxxx | frank@xxxxxxxx |fido 2:236/15.2
Follow ups
References