Bana arka ışık parlaklığım üzerinde hassas kontrol sağlayan ve sudoçalışması gereken bir senaryo var . Aslında bu:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
ve yaşıyor ~/bin/backlight-adjust. Komutun sudoayrıcalıklara ihtiyacı var , çünkü tee $backlightayrıcalıklı bir yere yazıyor. Bu yüzden çalıştırılmazsa başarısız olur sudo.
Sadece koşamam, çünkü bu yaklaşım, bir sorunu var sudo backlight-adjust, çünkü ~/bindeğil $PATHde sudosadece benim ortamında, çevre. Bu yüzden koşmam sudo env "PATH=$PATH" backlight-adjustya da benzer bir şey yapmam gerekiyor .
Alternatif olarak, şöyle yazabilirdim:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
ve bana şifre sor.
İkinci yaklaşım benim için daha iyi sonuç veriyor çünkü sudo yazmayı hatırlamama gerek yok; beni soracak. Ve $PATHbozulmadan devam edebilirim . Bu genel olarak daha uygun hissettiriyor, ancak ikinci yoldan yapmamam için herhangi bir neden var mı?
(Xubuntu 14.04 kullanıyorum ve kabuğum GNU bash 4.2.45, eğer bu bir fark yaratıyorsa).
sudoaslında benim tutar$PATHBen bu sorunu zorunda kalmamak varsayılan olarak.