nocheinmal ksh...

23/09/2009 - 18:44 von Andreas Leitgeb | Report spam
War ja erst kürzlich wer da, der ksh als interactive
shell verwenden musste ... so schlimm ist es nicht,
ich brauche sie nur als script-interpreter, und prompt
bin ich reingefallen, und habe versehentlich einen
bash' ismus in ein script eingebaut, genaugenommen:
${x:0:1}
um ans erste Zeichen des Strings zu kommen.

Die bash ist zwar installiert, aber ich will sie nicht
für's script vorschreiben, drum brauch ich einen Ersatz
für obiges konstrukt.

Ist: `echo "$x" | cut -b 1` schon das optimum?

So, und wàhrend ich das schreibe, hab ich die ganze Zeile
durch was anderes ersetzt: statt das erste Zeichen mit einem
hash-char zu vergleichen, mach ich jetzt
expr "$x" : "#*" >/dev/null

Aber wenns auf obiges doch noch einen kompakteren trick gibt,
würd ichs nachwievor gern wissen.
 

Lesen sie die antworten

#1 Gerhard Reithofer
29/09/2009 - 19:09 | Warnen spam
Hallo Andreas

On Wed, 23 Sep 2009, Andreas Leitgeb wrote:

War ja erst kürzlich wer da, der ksh als interactive
shell verwenden musste ... so schlimm ist es nicht,
ich brauche sie nur als script-interpreter, und prompt
bin ich reingefallen, und habe versehentlich einen
bash' ismus in ein script eingebaut, genaugenommen:
${x:0:1}
um ans erste Zeichen des Strings zu kommen.

Die bash ist zwar installiert, aber ich will sie nicht
für's script vorschreiben, drum brauch ich einen Ersatz
für obiges konstrukt.

Ist: `echo "$x" | cut -b 1` schon das optimum?

So, und wàhrend ich das schreibe, hab ich die ganze Zeile
durch was anderes ersetzt: statt das erste Zeichen mit einem
hash-char zu vergleichen, mach ich jetzt
expr "$x" : "#*" >/dev/null

Aber wenns auf obiges doch noch einen kompakteren trick gibt,
würd ichs nachwievor gern wissen.


Bei Wildcards nehm ich gerne
case $OPT in
#*) ...

Gerhard Reithofer
Tech-EDV Support Forum - http://support.tech-edv.co.at

Ähnliche fragen