Sudo

將某些內容回顯到根文件期間的 sudo 問題

  • February 16, 2015

我有一個問題,在寫入根文件期間:

$ 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

即使它沒有要求我輸入密碼。

  1. 我該如何解決這個問題?
  2. 為什麼不能sudo直接使用?

您不能將 sudo 與重定向一起使用,因為重定向是由作為您自己的使用者程式碼執行的原始 shell 完成的。它嘗試為 > 之後提到的文件設置文件描述符,但由於您的使用者無法寫入該文件而失敗。

Costas 的方法有效,生成子shell 也是如此:

sudo sh -c "echo disabled > /sys/bus/usb/device/3-2/power/wakeup"

引用自:https://unix.stackexchange.com/questions/185089