[linux] Re: Probleem met locale variabelen in bash

Cecil Westerhof CecilWesterhof op xs4all.nl
Wo Mrt 12 19:54:11 CET 2008


Op wo, 12-03-2008 te 19:27 +0100, schreef Kees Theunissen:
> On Wed, 12 Mar 2008, Cecil Westerhof wrote:
> 
> >Op di, 11-03-2008 te 23:11 +0100, schreef Roeland Th. Jansen:
> >> On Tue, Mar 11, 2008 at 11:01:56PM +0100, Cecil Westerhof wrote:
> >> > Toch vreemd, lokaal is lokaal zou ik zeggen. Maar ja, het is natuurlijk
> >> > wel een scripting taal en geen programmeer taal.
> >>
> >> design feature ofzo.
> >
> >Denk eerder een oversight. ;-}
> 
> Als ik mag gokken dan kom ik ook op een design feature uit.
> Een readonly declaratie doe je immers niet voor niets. Als je dat
> simpelweg ongedaan kunt maken door de variabele "out of scope" te
> schuiven dan kan je net zo goed af zien van het hele readonly
> concept.
> Het zou niet goed zijn als iemand in een functie in een shell
> script zelf zijn UID, EUID en PPID naar believen kan instellen,
> om maar een paar readonly variabelen van mijn eigen shell als
> voorbeeld te gebruiken.

Daar zit eigenlijk wel wat in. In bash hebben die variabelen invloed op
de uitvoering van een programma. Een oplossing zou kunnen zijn daar de
globale waarde voor te gebruiken, maar dan kun je de goede waarde weer
niet in je funktie bepalen. Eigenlijk zou er een mogelijkheid moeten
zijn in de trant van: 'deze variabele mag niet lokaal worden gemaakt'.
Daarmee voorkom je dit soort problemen. Maar ik denk dat er weinig
mensen zijn die gebruik maken van readonly variabelen, dus we moeten er
maar mee leren leven. En zoals Roeland al aangaf, met truukjes kun je de
kans dat het probleem optreedt verkleinen. En met mijn funktie kun je ze
dan toch signaleren.

-- 
Cecil Westerhof <CecilWesterhof op xs4all.nl>




More information about the Linux mailing list