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 "$@" >