由于我的华硕 VivoBook 键盘快捷键无法更改键盘闪电级别,因此我制作了一个 bash 脚本并将其配置为在按下组合键时激活。这是我的脚本:
level=$(cat /sys/class/leds/asus\:\:kbd_backlight/brightness)
[[ $level = 3 ]] && echo 0 | sudo tee /sys/class/leds/asus\:\:kbd_backlight/brightness || echo $(($level+1)) | sudo tee /sys/class/leds/asus\:\:kbd_backlight/brightness
当我在终端上运行脚本时,它正在运行,但当我按下按键时,它却不运行,我想是因为 sudo 权限需要密码。有什么方法可以更改脚本权限,以便当我在后台运行它时它不会要求输入密码?
答案1
可能有几种选择,但我建议您选择三种:
一种方法是使用sudo -i
而不是sudo
该命令在类似于用户登录时收到的环境中运行。
另一种方法是使用,sudo -v
而不是sudo
使用缓存的凭据。
第三个选项是配置sudo
为从不要求您输入密码。该visudo
命令将编辑sudoers
命令使用的文件sudo
。要更改允许哪些用户和组运行 sudo,请运行 visudo
sudo visudo
在文件底部添加以下行:
<username> ALL=(ALL) NOPASSWD: ALL
用您的用户名替换。例如,我将添加行
tejas ALL=(ALL) NOPASSWD: ALL
添加此行后,您可以在终端窗口中输入 sudo,而无需输入密码。
请注意,此解决方案仅适用于sudo
在终端中使用该命令。
要限制无需密码提示即可执行脚本的位置,请使用以下命令:
<username> ALL=NOPASSWD:/bin/bash /path/to/script/*
严格注意:仅对您可以信任的脚本使用此解决方案。