[rlug] Ajutor script shell

Petru Rațiu rpetre at gmail.com
Sun Jan 6 14:51:56 EET 2019


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 <andreimpopescu at 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 at lists.lug.ro
> http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro
>


More information about the RLUG mailing list