在将某些内容写入根文件期间,我遇到问题:
$ ll /sys/bus/usb/devices/3-2/power/wakeup
-rw-r--r-- 1 root root 4096 Feb 16 17:28 /sys/bus/usb/devices/3-2/power/wakeup
$ sudo echo disabled > /sys/bus/usb/devices/3-2/power/wakeup
bash: /sys/bus/usb/devices/3-2/power/wakeup: Permission denied
即使它没有要求我输入密码。
- 我该如何解决这个问题?
- 为什么我不能
sudo
直接使用?
答案1
您不能将 sudo 与重定向一起使用,因为重定向是由作为您自己的用户代码运行的原始 shell 完成的。它尝试为 > 之后提到的文件设置一个文件描述符,但由于用户无法写入它而失败。
Costas 的方法有效,就像生成子 shell 一样:
sudo sh -c "echo disabled > /sys/bus/usb/device/3-2/power/wakeup"