我有一个脚本,它可以让我对背光亮度进行细粒度控制,并且需要sudo
运行。本质上是这样的:
backlight="/sys/class/backlight/acpi_video0/brightness"
echo $1 | tee $backlight
Run Code Online (Sandbox Code Playgroud)
并住在~/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
Run Code Online (Sandbox Code Playgroud)
并提示我输入密码。
第二种方法对我来说效果更好,因为我不必记得输入 sudo;它会提示我。我可以保持我的$PATH
完好无损。总体而言,这感觉更方便,但有什么理由我不应该采用第二种方式吗?
(我正在运行 Xubuntu 14.04,我的 shell 是 GNU bash 4.2.45,如果这有区别的话。)
我可以非常快速地监视进程的运行时间time
:
x@y ~ $ time foo
real 0m14.299s
user 0m4.770s
sys 0m0.440s
Run Code Online (Sandbox Code Playgroud)
有没有办法可以获取记录到 STDOUT 的参数的 I/O 和 CPU 使用率的相同数据?一个简单的命令或实用程序time
是理想的,我只传递我想要运行的东西的参数:
x@y ~ $ stats foo
wallclock runtime 0m14.299s
I/O reads 290,420 KB
I/O writes 239,429 KB
peak CPU usage 18.62%
mean CPU usage 1.44%
# etc.
Run Code Online (Sandbox Code Playgroud)