DMG 생성을 위한 Bash 스크립트

DMG 생성을 위한 Bash 스크립트

macOS에서 JHFS+ 형식의 DMG 파일을 자동으로 생성(bash 스크립트 사용)하려고 합니다. 스크립트는 사용자가 제공한 정보를 받을 수 있어야 합니다.

  • GB 단위의 DMG 크기
  • DMG 대상
  • 파일 시스템 유형(HFS+, JHFS+, APFS, FAT32, ExFAT 또는 UDF)
  • 볼륨 이름
  • 생성할 DMG의 이름입니다.

나는 다음을 사용했습니다 :

date
read -p "Enter the size of the DMG:   " size        
read -e -p "Enter the destination of the DMG:   " dest  
read -p "Enter the filesystem (HFS+,JHFS+,APFS,FAT32,ExFAT or UDF)  :" fs
read -p "Enter the Volume name :" volname
read -p "Enter the name of the DMG:" name

hdiutil create -fs {"$fs"} -size "$size" -volname "{$volname}" "{$dest\/$name}"
exit

문제는 스크립트를 실행할 때 크기가 "1g"(1GB)이고 다음 오류가 발생한다는 것입니다.

hdiutil: create failed - Invalid argument

스크립트 개선을 위한 제안을 환영합니다. 미리 감사드립니다 :)

답변1

중괄호 {}주변 변수가 잘못되어 이스케이프 슬래시가 \/작동하지 않습니다.

$dest및 를 $name결합하여 $dest기본값을 추가한 것으로 변경 했습니다 . 크기 조정과 관련하여 가장 일반적인 일부 크기에 대한 팁을 추가했습니다.

#!/bin/bash

defaults=( 1g HFS+ "my volume" ~/Desktop/myvolume.dmg )

read -ep "Enter the size (??m|??g|??t) [${defaults[0]}] " size 
read -ep "Enter the filesystem (HFS+, JHFS+, APFS, FAT32, ExFAT, UDF) [${defaults[1]}] " fs
read -ep "Enter the volume name [${defaults[2]}] " volname
read -ep "Enter the image destination [${defaults[3]}] " dest

hdiutil create -size "${size:-${defaults[0]}}" -fs "${fs:-${defaults[1]}}" -volname "${volname:-${defaults[2]}}" "${dest:-${defaults[3]}}"

관련 정보