[linux-l] Bash und utf8

Olaf Radicke olaf_rad at gmx.de
Mo Dez 11 22:59:57 CET 2006


Am Montag, 11. Dezember 2006 22:36 schrieb Jan-Benedict Glaw:
> On Mon, 2006-12-11 21:43:04 +0100, Olaf Radicke <olaf_rad at gmx.de> wrote:
> > Am Montag, 11. Dezember 2006 16:30 schrieb Jan-Benedict Glaw:
> > > On Mon, 2006-12-11 15:45:00 +0100, Olaf Radicke <olaf_rad at gmx.de> wrote:
> > > > Ich hab hier (unter Fedora Core 6) ein Problem:
> > > >
> > > > Die Bash kommt mit utf8 nicht klar. Wenn ich ein simples bash-Skript
> > > > schreibe mit erste Zeile "#!/bin/bash" und u+x und das als utf8
> > > > speichere, bekommt die bash eine Krise:
> > > >
> > > > [or at localhost src]$ ./install.sh
> > > > bash: ./install.sh: cannot execute binary file
> > >
> > > Mach mal:
> > >
> > > 	cat ./install.sh | cut -b -10 | xxd
> > >
> > > und schick' das Ergebnis. Könnte sein, daß Dein Editor da eine BOM
> > > (Byte Order Mark) eingebaut hat...
> >
> > [or at localhost var]$
> > cat /HDC/PRIVAT_DATA/SONSTIGES/sandbox/artikel23/trunk/src/install.sh |
> > cut -b -10 | xxd
> > 0000000: efbb bf23 2120 2f62 696e 0a23 2044 6965  ...#! /bin.# Die
>
> 0xef 0xbb 0xbf
>
> Das ist die byte order mark.  Sag' Deinem Editor mal, daß es die
> _nicht_ setzen soll... Die hat da nämlich nichts zu suchen :)
>
> Davon mal abgesehen:
>
> 	#! /bin
>
> ist auch nicht wirklich ein funktionierender shell-Intrepreter, oder?
> Das sollte eher
>
> 	#!/usr/bin/env sh
>
> sein.

Danke. Merkwürdigerweise frisst die Bash jetzt das Skript klaglos.

Olaf




Mehr Informationen über die Mailingliste linux-l