У мене є сценарій, який дає мені тонкий контроль над яскравістю підсвічування і вимагає sudoзапуску. По суті це:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
і живе в ~/bin/backlight-adjust. Сценарію потрібні sudoпривілеї, оскільки tee $backlightвін пише в привілейоване місце. Тож воно вийде з ладу, якщо його не запустити sudo.
Такий підхід має проблеми, тому що я просто не можу працювати sudo backlight-adjust, тому що ~/binне в $PATHв sudoсередовищі, тільки в моєму оточенні. Тому мені доведеться бігати sudo env "PATH=$PATH" backlight-adjustчи щось подібне.
Як варіант, я міг би написати це так:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | sudo tee $backlight
і запропонуйте мені пароль.
Другий підхід для мене працює краще, тому що мені не потрібно пам’ятати набирати судо; це підкаже мене. І я можу зберегти $PATHнедоторканим. Це в цілому зручніше, але чи є причини, чому я не повинен робити це другим способом?
(Я запускаю Xubuntu 14.04, і моя оболонка - GNU bash 4.2.45, якщо це має значення.)
sudoфактично зберігає мою$PATHза замовчуванням, тому у мене немає цієї проблеми.