[CSProjects] Parametrii in linia de comanda

Vlad Dogaru ddvlad at anaconda.cs.pub.ro
Sun Aug 12 15:43:35 EEST 2007


andrew b wrote:
> Salut!
> 
> Avem o mica problema in legatura cu parametrii din linia de comanda, 
> Alex sugereaza foarte tare sa folosesc getopt si astfel sa respect 
> standardul linux, eu nu prea sunt de accord pentru ca se pierde o 
> anumita logica.
> 
> Cum arata in momentul actual main-ul "cspay -x xml -n -f ini" nu este 
> corect, daca e sa luam dupa Alex ar fi corect indiferent de ordine, el 
> mai si sugera sa eliminam parametrii "-i" si "-n" pe care ii dorea 
> lucian si astfel se mai elimina din problemele de logica.

Eu cred că parametrii ar trebui să poată fi furnizaţi în orice ordine, 
ceea ce poate fi făcut relativ uşor chiar şi fără getopt(3) sau popt(3). 
Aceste două rutine mi s-au părut stufoase, deşi probabil nu sunt peste 
posibilităţile noastre de înţelegere, ci doar prea complicate pentru 
nevoile noastre. Şi nici nu ştiu despre compatibilitate: getopt e 
extensie GNU, nu e ANSI, or so I take it from the man page.

> Mai era si problema daca fisierul xml era optional, Lucian mi-a zis ca 
> trebuie sa-l citesc mereu din linia de comanda, dar Alex mi-a zis ca 
> poate fi si unul implicit.

/etc/cspay/global.xml sau /etc/cspay.xml mi se pare adecvat pentru o 
locaţie implicită.

Dar... dacă transimtem fişierul de configurare în linia de comandă, 
scriptul PHP ar trebui să ştie de undeva locaţia fişierului de 
configurare. De unde? Din fişierul de configurare? Ciclic! Din alt 
fişier? Prea complicat!

Cred că cea mai bună soluţie (deşi inflexibilă şi un compromis) ar fi să 
setăm la compilare calea către fişierul de configurare şi să eliminăm 
paramterul ăla. Şi să se poată schimba locul fişierului de configurare 
fie prin simpla editare a unei surse din cspay, fie printr-un parametru 
la eventualul script de configure.

Vlad
-- 
Number one reason to date an engineer:
The world does revolve around us; we pick the coordinate system.



More information about the cspay-dev mailing list