L'assignació a una variable no resol els paràmetres amb espais.
Em sembla que amb el getopt es pot fer el millor pedaç possible.


__________
I'm using this express-made address because personal addresses aren't
masked enough at lists.debian.org archives.

El 20/03/16 a les 10:28, Eloi ha escrit:
> El 19/03/16 a les 16:10, Narcis Garcia ha escrit:
>> A veure si algú domina el programa «su» (substitute user) per executar
>> una comanda d'una manera que jo no me'n surto:
>>
>> Per posar un exemple, com a usuari «root» vull editar un fitxer
>> especificat per l'usuari i amb algun paràmetre més per l'editor nano.
>> Però tot això fer-ho a través d'un programet que crida su.
>> Aquestes són les sintaxis amb les quals ho he intentat sense èxit
>> (script "llansador.sh"):
>>
>> #!/bin/sh
>> su root -c "$@"
>> su root -- "$@"
>> su root -c -- "$@"
>>
>> $ ./llansador.sh nano --boldtext "Un document.txt"
>>
>>
>> Algú sap encertar l'ús dels dos guionets igual com fan altres interfícies?
>>
>> Nota: necessito NO comptar amb què «sudo» o altres programes menys
>> essencials estiguin instal·lats.
>>
> 
> PARAMS="$@"
> su -c "$PARAMS" root
> 
> El problema és que -c espera com a únic paràmetre la concatenació de
> tots ells, d'aquí la trampa de passar-ho a un altre nom per evitar el
> comportament de separar-los que per defecte fa "$@"
> 

Respondre per correu electrònic a