Ho una sceneggiatura che mi dà un controllo approfondito sulla luminosità della retroilluminazione e richiede sudol'esecuzione. È essenzialmente questo:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
e vive a ~/bin/backlight-adjust. Lo script ha bisogno di sudoprivilegi, perché tee $backlightsta scrivendo in una posizione privilegiata. Quindi fallirà se non viene eseguito con sudo.
Questo approccio ha un problema, perché non posso solo correre sudo backlight-adjust, perché ~/binnon è in $PATHin sudoambiente, solo nel mio ambiente. Quindi dovrei correre sudo env "PATH=$PATH" backlight-adjusto qualcosa di simile.
In alternativa, avrei potuto scriverlo in questo modo:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
e chiedimi la password.
Il secondo approccio funziona meglio per me perché non devo ricordare di digitare sudo; mi spingerà. E posso mantenere $PATHintatto il mio . Tutto ciò sembra più conveniente, ma ci sono dei motivi per cui non dovrei farlo nel secondo modo?
(Sto usando Xubuntu 14.04 e la mia shell è GNU bash 4.2.45, se questo fa la differenza.)
sudoeffettivamente mantiene il mio$PATHdi default, quindi non ho questo problema.