[rlug] Ajutor script shell

Andrei POPESCU andreimpopescu at gmail.com
Sun Jan 6 14:43:17 EET 2019


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)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.lug.ro/pipermail/rlug_lists.lug.ro/attachments/20190106/c82c5283/attachment.asc>


More information about the RLUG mailing list