ルートファイルに何かをエコー中にsudoの問題が発生する

ルートファイルに何かをエコー中にsudoの問題が発生する

ルートファイルに何かを書き込んでいるときに問題が発生しました。

$ 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なぜ直接使用できないのですか?

ベストアンサー1

リダイレクトは独自のユーザーコードで実行される元のシェルによって実行されるため、リダイレクトでsudoを使用することはできません。 >後述のファイルのファイル記述子を設定しようとしましたが、ユーザーがそのファイルに書き込めないため失敗します。

Costasのメソッドは、サブシェルを作成するのと同じように機能します。

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

おすすめ記事