configure! (was: Re: [linux-l] Datum in Script verwenden)
Peter Ross
Peter.Ross at alumni.tu-berlin.de
Do Apr 26 23:43:49 CEST 2007
Hi Steffen,
On Thu, 26 Apr 2007, Steffen Dettmer wrote:
> Muss bei mir nur für linux und win/cygwin
> gehen, aber ein Haufen selbstgescriptet da! Fand da auch bloss
> User-Macros (wo dann Leerzeichen im $JAVA_HOME nicht gehen oder keine
> JNI libs benutzt werden können usw).
Ich habe gestern abend ein simples Shellskript nicht unter CygWin zu
laufen bekommen (sh, dig, awk und echo):
$ dest=app1.mel.acx
$ ip=`dig -t a ${dest} +short | tail -1`
$ echo ${ip}
192.168.20.120
# (Okay - got the IP address)
# (Will see whether it was using CNAMES)
$ cname_test=`dig -t a ${dest} +short | tail -2 | wc -l`
$ echo ${cname_test}
2
# (Yes, grep the name which has an A record)
$ dest=`dig -t a ${dest} +short | tail -2 | head -1`
$ echo ${dest}
app1-pub.mel.acx.
# Fine!
# (Replace the short hostname with "ports")
$ port_domain=`echo ${dest} | awk -F. '{printf "ports"; for (i=2; i<=NF; i++) printf "."$i}'`
$ echo ${port_domain}
ports.mel.acx.
# Still okay!
port_dns_dest="${ip}.${port_domain}"
$ echo ${port_dns_dest}
.ports.mel.acx.
# ?? - I expected 192.168.20.120.ports.mel.acx., as under Linux
Was dann? Mal schauen, was exakt da steht:
$ echo ${port_dns_dest} > /tmp/mom
Mal kurz in die Datei geguckt:
192.168.20.120^M.ports.mel.acx.
Welches der tollen Tools haut mir denn das rein? awk? Mal schauen:
port_domain=`echo "$dest" | sed -e 's/^[^.]*/ports/'`
Nein. Ergibt das selbe.
Man kann doch mit solcher Sch**** nicht programmieren! format c: ist die
einzige Loesung;-)
Gruss
Peter
Mehr Informationen über die Mailingliste linux-l