X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/ba5978d2987cce2545e10696a6ca14c6d54fdc92..c8dc36a5c3bb042d92a04304caaa7fa7249d9d2e:/Vlnk/VentoyVlnk.sh diff --git a/Vlnk/VentoyVlnk.sh b/Vlnk/VentoyVlnk.sh index 5037df1..c0b83a7 100644 --- a/Vlnk/VentoyVlnk.sh +++ b/Vlnk/VentoyVlnk.sh @@ -19,7 +19,7 @@ vlog() { } vlnk_suffix() { - echo $1 | egrep -q '.*(.vlnk.iso|.vlnk.img|.vlnk.wim|.vlnk.vhd|.vlnk.vhdx|.vlnk.efi|.vlnk.vtoy|.vlnk.dat)$' + echo $1 | grep -E -q '.*(.vlnk.iso|.vlnk.img|.vlnk.wim|.vlnk.vhd|.vlnk.vhdx|.vlnk.efi|.vlnk.vtoy|.vlnk.dat)$' } @@ -38,13 +38,13 @@ for t in 'mountpoint' 'readlink' 'xzcat'; do done machine=$(uname -m) -if echo $machine | egrep -q 'aarch64|arm64'; then +if echo $machine | grep -E -q 'aarch64|arm64'; then TOOLDIR=aarch64 -elif echo $machine | egrep -q 'x86_64|amd64'; then +elif echo $machine | grep -E -q 'x86_64|amd64'; then TOOLDIR=x86_64 -elif echo $machine | egrep -q 'mips64'; then +elif echo $machine | grep -E -q 'mips64'; then TOOLDIR=mips64el -elif echo $machine | egrep -q 'i[3-6]86'; then +elif echo $machine | grep -E -q 'i[3-6]86'; then TOOLDIR=i386 else echo "Unsupported machine type $machine" @@ -103,7 +103,7 @@ if [ "$CMD" = "c" ]; then exit 1 fi - if echo $IMG | egrep -q -i '.*(.iso|.img|.wim|.vhd|.vhdx|.efi|.vtoy|.dat)$'; then + if echo $IMG | grep -E -q -i '.*(.iso|.img|.wim|.vhd|.vhdx|.efi|.vtoy|.dat)$'; then : else echo "This file is not supported for vlnk!" @@ -153,11 +153,23 @@ if [ "$CMD" = "c" ]; then #check fs if grep -q " ${FULLDIR} " /proc/mounts; then + DEV=$(grep " ${FULLDIR} " /proc/mounts | awk '{print $1}') FS=$(grep " ${FULLDIR} " /proc/mounts | awk '{print $3}') - vlog "File system is $FS" + vlog "File system of $DEV is $FS" - if echo $FS | egrep -q "ext2|ext3|ext4|exfat|vfat|fat32|fat16|fat12|ntfs|xfs|udf"; then + if echo $FS | grep -E -q "ext2|ext3|ext4|exfat|vfat|fat32|fat16|fat12|ntfs|xfs|udf"; then vlog "FS OK" + elif [ "$FS" = "fuseblk" ]; then + vlog "$DEV is fuseblk" + if hexdump -C -n 8 $DEV | grep -q "NTFS"; then + vlog "$DEV is NTFS OK" + elif hexdump -C -n 8 $DEV | grep -q "EXFAT"; then + vlog "$DEV is exFAT OK" + else + echo "$DEV is not supported!" + hexdump -C -n 8 $DEV + exit 1 + fi else echo "$FS is not supported!" exit 1 @@ -191,7 +203,7 @@ if [ "$CMD" = "c" ]; then if [ -f "/sys/class/block/$IMGPARTITION/start" ]; then PARTSTART=$(cat "/sys/class/block/$IMGPARTITION/start") - if echo $IMGPARTITION | egrep -q 'mmc|nbd|nvme'; then + if echo $IMGPARTITION | grep -E -q 'mmc|nbd|nvme'; then DISK=$(echo /dev/$IMGPARTITION | sed "s/^\(.*\)p[0-9][0-9]*$/\1/") else DISK=$(echo /dev/$IMGPARTITION | sed "s/^\(.*[^0-9]\)[0-9][0-9]*$/\1/")