[linux] Re: Uitvoeren van commando's in screen bij opstarten

Cecil Westerhof CecilWesterhof op xs4all.nl
Za Aug 2 19:33:48 CEST 2008


Op za, 02-08-2008 te 17:27 +0200, schreef Fred Mobach:
> On Friday 01 August 2008 11:58, Cecil Westerhof wrote:
> > Bij het opstarten van screen worden er meerdere screen sessie geopend
> > -door middel van de instellingen in .screenrc- waarin verschillende
> > programma's draaien. Indien een programma wordt afgebroken kan met
> > '${COMMAND}' dat programma weer worden opgestart. Vanwege DRY (Do not
> > Repeat Yourself) zou ik willen werken met:
> >         setenv COMMAND 'tg-admin shell'
> >         screen -t shell
> >         exec "${COMMAND}"
> 
> Werkt het wel met exec ${COMMAND} ?

Nope, dat was wat ik als eerste gebruikte. Toen dat niet werkte ben ik
met quotes gaan werken.


> > Een ander probleem is dat per screen in .screenrc maar één keer een
> > commando d.m.v. exec uit kan worden gevoerd. Dit kan natuurlijk op
> > worden gelost door een script aan te roepen met exec, maar is er een
> > andere manier? Volgens de documentatie zou het met eval moeten
> > kunnen, maar dat werkt niet.
> > Als ik in .screenrc opneem:
> >         screen -t testing
> >         eval /bin/date '/bin/echo tweede commando' bin/date
> 
> Werkt het wel met 
>   eval /bin/date && '/bin/echo tweede commando' && bin/date 

Nope, want eval zegt meteen al dat het /bin/date niet kent. :-{

En "exec /bin/date && '/bin/echo tweede commando' && bin/date" geeft:
	bin/date: too many non-option arguments: /bin/echo tweede commando ...

Het lijkt er op dat het niet met een truukje is te omzeilen. Als ik
meerdere commando's wil uitvoeren, dan zal het toch d.m.v. een script
moeten ben ik bang.

-- 
Cecil Westerhof <CecilWesterhof op xs4all.nl>




More information about the Linux mailing list