Article View: swnet.sys.dnix
Article #5Re: C-shell script
From: Kristoffer Eriksson
Date: Mon, 02 Nov 1992 09:14
Date: Mon, 02 Nov 1992 09:14
37 lines
2477 bytes
2477 bytes
In article <1992Nov1.223016.22108@kullmar.se> bk@kullmar.se (Bo Kullmar) writes:
>In <1854@mefos.se> pam@mefos.se (PA Monwall) writes:
>
>>Jag {r van att skriva '#!/bin/sh' och '#/bin/csh' p} f|rsta raden i ett
>>script f|r att ange vilket shell som ska exekvera filen.
>>P} D-NIX skriver man tydligen ':' f|r att ange sh. Men hur g|r jag med
>>ett script skrivet f|r csh???
>
>dnix {r tyv{rr lika dum som standard System V.3 s}vitt jag fattar vilket
>inneb{r att om det st}r # f|rst i scripten s} k|rs csh. ':' anger inte
>alls sh utan inneb{r bara att csh inte k|rs.
S} h{r h{nger det ihop: Om man k|r csh, och s{ger }t den att k|ra en script,
s} vill den f|rst}s g{rna k|ra scripten med csh. Men f|r att inte f} problem
med scriptar som inte alls {r avsedda f|r csh, s} kollar den f|rst att
scripten b|rjar med "#", som {r kommentarstecken i csh-scriptar, som ett
tecken p} att det verkligen {r en csh-script. I annat fall anv{nder den
normal-shellen /bin/sh. Dessv{rre {r "#" till}tet som kommentar {ven i sh,
s} det kan l{tt bli tokigt {nd}, om man inte t{nker p} det. Vet inte om det
kan ha varit s} att "#" inte hade den funktionen i sh n{r csh kom till.
Om man d{remot k|r /bin/sh som sin shell, s} h{nder ingenting av det h{r,
utan alla scriptar k|rs med /bin/sh, oavsett hur de ser ut (s}vida man inte
anger csh i kommandot).
Det d{r med "#!/kommando" {r ett helt annat p}hitt fr}n BSD (vad jag vet),
som inte ing}r i denna version av System V. Den kan f|rekomma antingen som
kernel-funktion, s} att den alltid har effekt oavsett vad som startar
scripten, eller s} kan f|rst}s enskilda shellar implementera motsvarande
funktion oavsett vad kerneln g|r. F|rmodar att det var kernel-varianten som
BSD b|rjade med. Den har dock vissa s{kerhetsrisker, om den {ven medf|r att
set-user-id-funktionen g}r att applicera p} scriptar.
--
Kristoffer Eriksson, Peridot Konsult AB, Stallgatan 2, S-702 26 Oerebro, Sweden
Phone: +46 19-33 13 00 ! e-mail: ske@pkmab.se
Fax: +46 19-33 13 30 ! or ...!{uunet,mcsun}!mail.swip.net!kullmar!pkmab!ske
Technical Details
Message-ID:
<7370@pkmab.se>Path:
arc1-ca.pugleaf.net!sparky!uunet!mcsun!sunic!seunet!kullmar!pkmab!skeReferences:
<1854@mefos.se> <1992Nov1.223016.22108@kullmar.se>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!mcsun!sunic!seunet!kullmar!pkmab!ske From: ske@pkmab.se (Kristoffer Eriksson) Newsgroups: swnet.sys.dnix Subject: Re: C-shell script Message-ID: <7370@pkmab.se> Date: 2 Nov 92 09:14:19 GMT References: <1854@mefos.se> <1992Nov1.223016.22108@kullmar.se> Distribution: swnet Organization: Peridot Konsult i Mellansverige AB, Oerebro, Sweden Lines: 37