[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