如何捕获 2 个输出值并处理它们

如何捕获 2 个输出值并处理它们

我正在尝试创建一个万无一失的解决方案,在 dd 的帮助下将图像写入存储卡。

想法:我想在系统上放置一个脚本,其他人可以在不了解编写图像的情况下执行该脚本。

图像的大小可能会发生变化,因此必须预先运行查询以确定大小。

isoinfo -d -i /media/usb/image.iso | grep -i -E 'block size|volume size' | sed 's/^.*is: \(.*\)/\1/'

获取块数和卷大小。现在我需要将这些值合并到以下代码中

dd if=/media/usb/image.iso of=/dev/sdc bs=2048 count=96053 status=progress

我试图通过自动填充 bs= 和 count= 来解决这个问题,但我无法弄清楚如何获取和处理第一段代码的输出。

我尝试了 xargs 但这对我没有多大帮助。我希望你能为我提供一些解决方案。

干杯简

答案1

如果要将整个图像复制到目标位置,则无需设置bs和为特定值。count只需确保选择的块大小足够大,以确保快速复制操作,例如bs=16M.没有count复制整个输入,例如

dd if=/media/usb/image.iso of=/dev/sdc bs=16M status=progress

相关内容