我有一个脚本,可以对背光亮度进行精细控制,并且需要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
并提示我输入密码。
第二种方法对我来说更好,因为我不必记住键入sudo。它会提示我。而且我可以保持$PATH
原样。总体上来说,这样做更方便,但是有什么原因使我不应该第二种方式呢?
(如果正在运行Xubuntu 14.04,并且我的shell是GNU bash 4.2.45,则可以这样做。)
sudo
实际上$PATH
默认情况下是保留我的身份,所以我没有这个问题。