Subject: Re: Batchdateien unter Linux From: uwe@ohse.de (Uwe Ohse) Date: 1997/09/07 Message-ID: <5utk0m$g7u$1@tirka.ohse.de> Newsgroups: maus.os.linux Hallo Michael, >es ist �brigens nicht unbedingt notwendig Hash-Bang (#!) zu benutzen. nicht unbedingt, aber besser ist es. >Damit wird nur sichergestellt, da� ein bestimmter Interpreter benutzt >wird (bash, perl, etc.). Ohne Hash-Bang wird immer /bin/sh zur Abarbeitung >des Scripts verwendet. Der Kernel liefert, wenn er Shellscripte ausf�hren soll, die kein #! /int/er/preter am Anfang stehen haben, ENOEXEC als Fehlermeldung zur�ck, und es ist Sache der Shell, dann noch etwas vern�nftiges zu machen. tcsh, pdksh und tclsh machen es so da� sie "/bin/sh script" starten. Die bash arbeitet da anders - sie f�hrt das Script (in dem schon geforkten neuen Prozess) selbst aus (und sollte der Sinn der �bung der gewesen sein zu pr�fen ob das Script fehlerfrei nicht nur unter Bash, sondern auch unter einer primitiveren Shell laufen kann, dann hat man Pech). rc (die Plan9-Shell) f�hrt Scripte ohne #! gar nicht erst aus. Gru�, Uwe
Andreas Schwab erg�nzte:
Und bei csh ist es noch merkwuerdiger: Wenn das Script mit : beginnt, wird es an /bin/sh weitergegeben, ansonsten selber ausgefuehrt.In der Tat: _merkw�rdig_.