J'ai un script qui me donne un contrôle fin sur la luminosité de mon rétro-éclairage et nécessite sudode s'exécuter. C'est essentiellement ceci:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
et vit à ~/bin/backlight-adjust. Le script a besoin de sudoprivilèges, car il tee $backlightécrit dans un emplacement privilégié. Il échouera donc s'il n'est pas exécuté avec sudo.
Cette approche a un problème, parce que je ne peux pas simplement courir sudo backlight-adjust, parce que ce ~/binn'est pas $PATHdans l' sudoenvironnement, seulement dans mon environnement. Je devrais donc courir sudo env "PATH=$PATH" backlight-adjustou quelque chose de similaire.
Alternativement, j'aurais pu l'écrire comme ceci:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
et me demander le mot de passe.
La deuxième approche fonctionne mieux pour moi car je n'ai pas à me rappeler de taper sudo; ça m'invitera. Et je peux garder mon $PATHintact. Cela semble plus pratique dans l'ensemble, mais y a-t-il des raisons pour lesquelles je ne devrais pas le faire de la deuxième façon?
(J'utilise Xubuntu 14.04 et mon shell est GNU bash 4.2.45, si cela fait une différence.)
sudoconserve en fait mon$PATHpar défaut, donc je n'ai pas ce problème.