次のコマンドを使用してscsiディスクを削除しようとしていますecho 1 > sudo /sys/block/sdb/device/delete
。コマンドを実行しようとすると、lsscsi
まだディスクが表示されます。
誰かが私が間違っている部分を指摘できればいいでしょう。
ベストアンサー1
間違ったことは、出力リダイレクトがどのように機能するかを理解することです。
Kusalanandaのコメントは何が起こっているか説明します。出力はローカルディレクトリのファイルecho
に渡されます。 yesパラメーターは出力ファイルにあります。sudo
1
/sys/block/sdb/device/delete
echo
繰り返しますが、出力リダイレクトを設定してもシェルがまだ起動していないsudo echo 1 > /sys/block/sdb/device/delete
ため、この方法は機能しません。sudo
しばらくルートを訴えるのではなく、本当にこれを行うには、次の手順を実行します。
echo 1 | sudo tee /sys/block/sdb/device/delete
または
sudo sh -c 'echo 1 > /sys/block/sdb/device/delete'
tee
指定されたファイルから入力を取得し、指定されたstdin
ファイルに書き込んで渡すstdout
ことができますsudo
。後者のコマンドでは、全体のシェルプロセスがsudo
。