[linux-l] Datum in Script verwenden

Nico Golde nion at gmx.net
Sa Apr 7 12:37:23 CEST 2007


Hallo Volker,

* Volker Grabsch <vog at notjusthosting.com> [2007-04-07 12:29]:
> On Fri, Apr 06, 2007 at 06:15:17AM +0200, Jan-Benedict Glaw wrote:
> > > > !/bin/sh
> > > > date +%G"-"%m"-"%d"__"%k"-"%M
> > > > mkdir ~/Documents/palm/backup/S1
> > > > pilot-xfer -e ~/Documents/palm/backup/exclude1.txt -p /dev/pilot -b ~/Documents/palm/backup/$1
> > > 
> > > So funktioniert das natürlich nicht, schon klar. Wie muss ich das anfangen?
> > 
> > #!/usr/bin/env sh
> 
> Man sollte grundsätzlich vermeiden, die "sh" als Shell zu nehmen.
> Das suggeriert nämlich, dass das Script auch in was anderem als
> ner Bash läuft, also portabel ist. Besserer Stil, der einen selbst
> und andere später vor Ärger bewahrt, ist:
> 
>     #!/bin/bash
> 
> oder auch:
> 
>     #!/usr/bin/env bash
> 
> Man sollte erst dann zu "/bin/sh" übergehen, wenn man 100%ig sicher
> ist, dass im Script keine "Bashismen" drin sind. (d.h. keine Konstrukte,
> die nur in der bash funktionieren)
[...] 
Ohne dir zu nahe treten zu wollen, das ist mit Verlaub der 
größte Unsinn den ich je gehört habe, wenn es um 
Shellprogrammierung geht. Das ist genau die Art von 
Informationen, die alle Leute, die anfangen mit 
Shell-Programmieren #!/bin/bash da reinschreiben lässt ohne 
zu wissen, was sie da tun. Wie viele Shellkonstrukte und 
Bashism kennt denn jemand, der anfängt mit 
Shellprogrammierung? Keine? Soll ich jetzt als zsh-Benutzer 
sagen, dass man mal lieber #!/bin/zsh reinschreibt? Das ist 
auf Debian ein großer Spaß, link mal /bin/sh nach /bin/zsh, 
da wirst du deine Freude haben, wenn Pakete mit debconf-Kram 
installiert werden sollen.

Wenn man Shellprogrammierung lernt, lernt man in der Regel 
keine Bash-Programmierung, falls doch, schreibt man da 
#!/bin/bash rein, falls nicht lässt man es.

Scripte die #!/bin/bash beinhalten sind in der Regel ein 
gutes Merkmal dafür, dass die Leute entweder keine Ahnung 
haben oder die Scripte Müll sind. Ausnahmen bestätigen die 
Regel ;)
Gruß Nico

-- 
Nico Golde - http://www.ngolde.de
JAB: nion at jabber.ccc.de - GPG: 0x73647CFF
Forget about that mouse with 3/4/5 buttons,
gimme a keyboard with 103/104/105 keys!
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : nicht verfügbar
Dateityp    : application/pgp-signature
Dateigröße  : 189 bytes
Beschreibung: nicht verfügbar
URL         : <https://mlists.in-berlin.de/pipermail/linux-l-mlists.in-berlin.de/attachments/20070407/0827f718/attachment.sig>


Mehr Informationen über die Mailingliste linux-l