Вы лучше работаете с NTFS, у него есть лучшая поддержка на стороне Linux.
Более того, этот вопрос был рассмотрен на нашем форуме здесь и здесь, например.
Вам нужна команда file:
% file ubuntu-16.04.2-desktop-amd64.iso
ubuntu-16.04.2-desktop-amd64.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'Ubuntu 16.04.2 LTS amd64' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 14432, 4864 sectors
Взгляните конкретно на флаги --mime-type и --brief (-b):
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso
application/x-iso9660-image
] Затем вы можете использовать file или аналогично синтаксическому анализу вывода команды file, а затем прочитать код состояния:
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso | grep -q iso; echo $?
0
% file -b --mime-type wolf1.png | grep -q iso; echo $?
1
Если вы хотите использовать это в скрипте (где $1 является переданным в файле, обратите внимание на отсутствие скобок):
#!/bin/bash
if file -b --mime-type $1 | grep -q iso; then
echo "Is ISO"
else
echo "Is not ISO"
fi
Пример:
% ./x.sh ubuntu-16.04.2-desktop-amd64.iso
Is ISO
% ./x.sh wolf1.png
Is not ISO
Вам нужна команда file:
% file ubuntu-16.04.2-desktop-amd64.iso
ubuntu-16.04.2-desktop-amd64.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'Ubuntu 16.04.2 LTS amd64' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 14432, 4864 sectors
Взгляните конкретно на флаги --mime-type и --brief (-b):
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso
application/x-iso9660-image
] Затем вы можете использовать file или аналогично синтаксическому анализу вывода команды file, а затем прочитать код состояния:
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso | grep -q iso; echo $?
0
% file -b --mime-type wolf1.png | grep -q iso; echo $?
1
Если вы хотите использовать это в скрипте (где $1 является переданным в файле, обратите внимание на отсутствие скобок):
#!/bin/bash
if file -b --mime-type $1 | grep -q iso; then
echo "Is ISO"
else
echo "Is not ISO"
fi
Пример:
% ./x.sh ubuntu-16.04.2-desktop-amd64.iso
Is ISO
% ./x.sh wolf1.png
Is not ISO
Вы хотите, чтобы команда file:
% file ubuntu-16.04.2-desktop-amd64.iso
ubuntu-16.04.2-desktop-amd64.iso: DOS/MBR boot sector ISO 9660 CD-ROM filesystem data (DOS/MBR boot sector) 'Ubuntu 16.04.2 LTS amd64' (bootable); partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 14432, 4864 sectors
взглянем конкретно на --mime-type и нажать [F8] (-b) флаги:
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso
application/x-iso9660-image
Вы можете использовать file или похожие для разбора вывода на [F11] команду, а затем прочитать код состояния:
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso | grep -q iso; echo $?
0
% file -b --mime-type wolf1.png | grep -q iso; echo $?
1
если вы хотите использовать это в скрипте (где $1 передаются в файл, обратите внимание на отсутствие скобок):
#!/bin/bash
if file -b --mime-type $1 | grep -q iso; then
echo "Is ISO"
else
echo "Is not ISO"
fi
пример:
% ./x.sh ubuntu-16.04.2-desktop-amd64.iso
Is ISO
% ./x.sh wolf1.png
Is not ISO