J'ai un script qui me donne un contrôle fin sur la luminosité de mon rétro-éclairage et nécessite sudo
de 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 sudo
privilè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 ~/bin
n'est pas $PATH
dans l' sudo
environnement, seulement dans mon environnement. Je devrais donc courir sudo env "PATH=$PATH" backlight-adjust
ou 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 $PATH
intact. 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.)
sudo
conserve en fait mon$PATH
par défaut, donc je n'ai pas ce problème.