La o prima citire, ti-as recomanda sa pui un if si sa ai doua alternative mult mai simple si fara escape magic. Urmatorul care o sa vrea sa citeasca linia aia si sa se prinda ce face o sa te injure maxim. Cel mai probabil o sa fii tot tu, peste cateva luni :)
-- P. On Sun, Jan 6, 2019 at 2:44 PM Andrei POPESCU <andreimpope...@gmail.com> wrote: > Salut, > > Din categoria „merge, merge, dar de ce?” se dă următoarea bucată de > script: > > > > #!/bin/sh > > USER_NAME=test > USER_FULL_NAME="FNU LNU" > > # useful to have files with same owner across different systems > # if unset the adduser default will be used (1000) > USER_UID=1666 > > adduser --disabled-password --gecos \""$USER_FULL_NAME"\" > ${USER_UID:+\--uid ${USER_UID}} "$USER_NAME" > > > > După multe experimente am descoperit că trebuie să protejez prima "-" > din "--uid" și să *nu* încadrez variabila în ghilimele (care în mod > normal sunt recomandate la orice variabilă), dar nu înțeleg de ce :( > > Vreau să mă asigur că nu am introdus vreun bug cu rezultate... > „interesante” și să învăț ceva pe lângă ;) > > Bonus: să folosesc aceiași metodă și pentru $USER_FULL_NAME, care foarte > probabil va conține cel puțin spații, dacă nu și alte caractere > speciale. > > Problema urgentă fiind rezolvată (cred), nu sunt interesat de soluții > rescrise decât dacă metoda folosită de mine e „periculoasă” pentru că > $motiv. > > Pentru că scriptul ar trebui să funcționeze și pe un sistem foarte > limitat (e.g. busybox) aș vrea să evit bashisme și/sau alte shelluri > (momentan testez cu sh -> dash). > > Mulțumesc de interes, > Andrei > -- > If you can't explain it simply, you don't understand it well enough. > (Albert Einstein) > _______________________________________________ > RLUG mailing list > RLUG@lists.lug.ro > http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro > _______________________________________________ RLUG mailing list RLUG@lists.lug.ro http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro