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=16Mcount

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

관련 정보