我正在尝试使用以下命令删除 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
.