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