From: "Michael Hembo" <none@hembo--micron.dk.lh.bsd-dk.dk> To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk> Subject: Re: bash programmering Date: Thu, 24 Oct 2002 12:10:37 +0200
Hej Martin (og alle i andre :-)
Her er mit bud på scriptet hvis jeg selv havde lavet det: (ikke rigtigt
eller bedst, bare min måde)
--- script ---
#!/bin/sh
# Set command vars
CAT="/bin/cat";
MKDIR="/bin/mkdir -p";
# Set local configuration
baseFolder="/home/sites";
domainList=`${CAT} /tmp/domains`;
makeFolder="${MKDIR} ${baseFolder}/";
# Init local functions
doMakeFolder() {
echo "Making for: ${domain}";
# Retrieving domainpart of hostname
domainFolder=`expr "${domain}" : '[^.]*\.\(.*\)'`;
echo " Domain: ${domainFolder}";
# Check if webstat dir exists
if [ ! -d ${baseFolder}/${domainFolder} ]; then
echo " Doing: ${makeFolder}${domainFolder}";
`${makeFolder}${domainFolder}`;
fi;
};
# Main loop
for domain in ${domainList} ; do
doMakeFolder;
done;
--- script ---
Jeg har lavet en list over shell kommandoer jeg tit bruger i mine scripts,
disse bliver så inkluderet i starten af scriptet i stedet for at definere
dem hver gang:
/usr/local/include/shell-cmds.inc indeholder
$ cat /usr/local/include/shell-cmds.inc
CAT="/bin/cat";
MKDIR="/bin/mkdir -p";
AWK="/usr/bin/awk";
....... o.s.v.....
Starten ville se ud som følger:
--- script ---
#!/bin/sh
# Set command vars
. /usr/local/include/shell-cmds.inc
# Set local configuration
.
.
--- script ---
ligeledes kan man inkludere ofte brugte funktioner.
Derudover gemmer jeg altid en liste (cat domains) i en variabel i stedet for
at cat'te direkte i for løkken.
På den måde kan jeg hurtigt overgå til at hente liste fra f.eks. MySQL ved
at ændre :
domainList=`${CAT} /tmp/domains`;
til:
domainList=`${SQLclient} "select DOMAIN from SITES where STAUS='log'"
${SQLhost} ${SQLuser} ${SQLdb}`;
uden at ændre andet i scriptet.
Hvor følgende:
SQLclient='/usr/local/bin/mysql -A -s -s -e'
SQLhost='-h localhost'
SQLuser='-u USER -p PASSWORD'
SQLdb='WEBSITES'
så er defineret/inkluderet tidligere i scriptet.
Michael
Håber sgu ikke at det var for rodet :-)
- "Intelligence is not what you know, but what you do when you don't know.
" - Piaget.
----- Original Message -----
From: Martin Allan Jensen <none@bailey--sprit.dk.lh.bsd-dk.dk>
To: <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk>
Sent: Thursday, October 24, 2002 4:08 AM
Subject: Re: bash programmering
> Hej igen igen,
>
> Jeg har nu prøvet at omklamre variablerne, samt bruge cat til at læse
filen......filen eksisterer under det korrekte navn og indeholder 7
domæner.....så det er MEGET mystisk fystisk.....
>
> Med venlig hilsen
> Martin A Jensen
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:24 CET