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

