echo 1 > sudo /sys/block/sdX/device/delete 命令

echo 1 > sudo /sys/block/sdX/device/delete 命令

我正在尝试使用以下命令删除 scsi 磁盘echo 1 > sudo /sys/block/sdb/device/delete。当我尝试lsscsi执行命令后,我仍然能够看到磁盘。

如果有人能指出我哪里出错了,那就太好了。

答案1

您出错的地方在于您对输出重定向如何工作的理解。

Kusalananda 的评论解释了发生的情况 - 的输出echo被定向到sudo本地目录中命名的文件中。1/sys/block/sdb/device/delete是 的参数echo,您将在输出文件中找到它们。

同样,sudo echo 1 > /sys/block/sdb/device/delete也不起作用,因为sudo当 shell 设置输出重定向时尚未启动。

如果你真的想这样做而不是 su 来 root 一会儿,你会想要:

echo 1 | sudo tee /sys/block/sdb/device/delete

或者

sudo sh -c 'echo 1 > /sys/block/sdb/device/delete'

tee从指定的文件中获取输入stdin并将其写入到指定的文件中stdout,并且可以通过sudo.在后一个命令中,整个 shell 进程在sudo.

相关内容