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 11:06:33 +0200
Hej Martin
Det lyder mystisk....
Det virkede på min boks, både med sh & bash son shell. Som andre også
nævner, er det ofte smartest altid at bruge sh til shellprogrammering.
Læg mærke til at:
fil=`cat /home/sites/local/mysql.domains`;
faktisk udfører endnu en kommando i en anden shell. Plingerne er såkaldte
`backticks` og ikke normale 'enkelte gåseøjne' :-)
Prøv at rette linien i koden til:
cat /home/sites/local/mysql.domains;
for at se om du overhovedet får noget output
Kør evt. scriptet med syntaksen:
bash -x ./script.sh
for at se hvordan det bliver eksekveret og hvor det exit'er
Michael
PS: Her er den udgave der virker på min BSD boks:
--- SCRIPT zz.sh ---
#!/usr/local/bin/bash
fil=`cat /tmp/doms`;
for a in $fil; do
echo "Making dir for: $a";
# Split domain in 2 .. subdomain and domain (www & domain.tld)
b=`expr "$a" : '\([^.]*\)'`;
c=`expr "$a" : '[^.]*\.\(.*\)'`;
# Check if webstat dir exists
if [ ! -d /home/sites/$c ]; then
echo "...Making dir: /home/sites/$c";
mkdir /home/sites/$c;
fi
done
--- SCRIPT end ---
her er indholdet af /tmp/doms:
--- Micron $ /tmp\cat /tmp/doms www.micron.dk ns.klap.dk www.firma.dk www.mikkel.dk --- og her er output fra scriptet: --- Micron $ /tmp\bash ./zz.sh Making dir for: www.micron.dk ...Making dir: /home/sites/micron.dk Making dir for: ns.klap.dk ...Making dir: /home/sites/klap.dk Making dir for: www.firma.dk ...Making dir: /home/sites/firma.dk Making dir for: www.mikkel.dk ...Making dir: /home/sites/mikkel.dk ---- "Intelligence is not what you know, but what you do when you don't know. " - Piaget.
----- Original Message ----- From: Martin Allan Jensen To: bsd-dk@bsd-dk.dk Sent: Wednesday, October 23, 2002 11:38 PM Subject: Re: bash programmering
Hej Michael....det virker stadig ikke, men jeg har også prøvet at lave den lidt om....nu ser den således ud....
#!/usr/compat/linux/bin/bash
for a in $(</home/sites/local/mysql.domains); do echo "Making dir for: $a"; # Split domain in 2 .. subdomain and domain (www & domain.dk) b=`expr "$a" : '\([^.]*\)'`; c=`expr "$a" : '[^.]*\.\(.*\)'`;
# Check if webstat dir exists if [ ! -d /home/sites/$c ]; then echo "...Making dir: /home/sites/$c"; mkdir /home/sites/$c; fi done
Med venlig hilsen Martin A Jensen
----- Original Message ----- From: Michael Hembo To: bsd-dk@bsd-dk.dk Sent: Wednesday, October 23, 2002 10:56 PM Subject: Re: bash programmering
Hej Martin
ret: $fil < /home/sites/local/mysql.domains;
til: fil=`cat /home/sites/local/mysql.domains`;
Så skal du bare se......
Michael -----Original Message----- From: Martin Allan Jensen <none@bailey--sprit.dk.lh.bsd-dk.dk> To: bsd-dk@bsd-dk.dk <none@bsd-dk--bsd-dk.dk.lh.bsd-dk.dk> Date: 23. oktober 2002 22:31 Subject: bash programmering
Først og fremmest undskyld jeg skriver over BSD listen, men jeg har virkeligt brug for hjælp....!
Jeg har lavet nedenstående streng der opretter et dir ud fra en liste hvis de ikke er oprettede....!
Kan nogen af jer se hvad jeg gør galt ?? Den kommer slet ikke med noget output...!!
--------------------------------- #!/usr/compat/linux/bin/bash
$fil < /home/sites/local/mysql.domains;
for a in $fil; do echo "Making dir for: $a"; # Split domain in 2 .. subdomain and domain (www & domain.tld) b=`expr "$a" : '\([^.]*\)'`; c=`expr "$a" : '[^.]*\.\(.*\)'`;
# Check if webstat dir exists if [ ! -d /home/sites/$c ]; then echo "...Making dir: /home/sites/$c"; mkdir /home/sites/$c; fi done ---------------------------
Med venlig hilsen & TAK! Martin A Jensen
This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:24 CET