Eu tenho um script que me fornece controle refinado sobre o brilho da luz de fundo e requer sudoa execução. É essencialmente isso:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
e vive em ~/bin/backlight-adjust. O script precisa de sudoprivilégios, porque tee $backlightestá gravando em um local privilegiado. Portanto, falhará se não for executado sudo.
Essa abordagem tem um problema, porque não posso simplesmente executar sudo backlight-adjust, porque ~/binnão está $PATHno sudoambiente, apenas no meu ambiente. Então eu teria que correr sudo env "PATH=$PATH" backlight-adjustou algo parecido.
Como alternativa, eu poderia ter escrito assim:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
e solicite a senha.
A segunda abordagem funciona melhor para mim porque não preciso me lembrar de digitar sudo; isso vai me levar. E eu posso manter minha $PATHintacta. Isso parece mais conveniente no geral, mas há alguma razão pela qual não devo fazê-lo da segunda maneira?
(Estou executando o Xubuntu 14.04 e meu shell é o GNU bash 4.2.45, se isso faz diferença.)
sudona verdade, o mantém$PATHpor padrão, para que não ocorra esse problema.