[linux-l] Datum in Script verwenden
Benjamin Schieder
blindcoder at scavenger.homeip.net
Sa Apr 7 13:29:53 CEST 2007
On 07.04.2007 13:05:54, Nico Golde wrote:
> Hallo Benjamin,
>
> * Benjamin Schieder <blindcoder at scavenger.homeip.net> [2007-04-07 12:57]:
> > On 07.04.2007 12:37:23, Nico Golde wrote:
> > > 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 ;)
> >
> > Das musst du mir jetzt genauer erklaeren. bash-bashing oder fundierte
> > Anschuldigung?
>
> Wieso bash-bashing? Nein, ich hab garnichts gegen die Bash,
> ich bin kein Shell-Fundamentalist ;)
> Ich hab einfach die Erfahrung gemacht, dass Anfänger oft
> #!/bin/bash reinschreiben, weil sie nichts anderes kennen
> (die Leute, die auch nie von Shell, sondern immer von Bash
> reden). Dass die Scripte in der Regel Müll sind habe ich
> gesagt, weil mir nicht viele Gründe einfallen #!/bin/bash
> überhaupt zu verwenden. Wieviele nützliche, unabdingbare
> Bashisms kennt ihr? Ich keinen.
< <( ... )
Beispiel:
blindcoder at ceres:~$ cat datei
abc def ghi jkl mno pqr stu vwx yz
blindcoder at ceres:~$ cat datei.script
lastletters=""
while read letters ; do
echo ${letters}
lastletters="${letters}"
done < <( tr ' ' '\n' < datei )
echo ${lastletters}
blindcoder at ceres:~$ bash datei.script
abc
def
ghi
jkl
mno
pqr
stu
vwx
yz
yz
blindcoder at ceres:~$ sh datei.script
datei.script: line 5: syntax error near unexpected token `<'
datei.script: line 5: `done < <( tr ' ' '\n' < datei )'
Wie loest du das in einer sh?
tr ' ' '\n' < datei | while read letters; do
kannste vergessen:
blindcoder at ceres:~$ cat datei.script.sh
lastletters=""
tr ' ' '\n' < datei | while read letters ; do
echo ${letters}
lastletters="${letters}"
done
echo ${lastletters}
blindcoder at ceres:~$ sh datei.script.sh
abc
def
ghi
jkl
mno
pqr
stu
vwx
yz
blindcoder at ceres:~$
--
#!/bin/sh #!/bin/bash #!/bin/tcsh #!/bin/csh #!/bin/kiss #!/bin/ksh
#!/bin/pdksh #!/usr/bin/perl #!/usr/bin/python #!/bin/zsh #!/bin/ash
Feel at home? Got some of them? Want to show some magic?
http://shellscripts.org
-------------- 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/72d65810/attachment.sig>
Mehr Informationen über die Mailingliste linux-l