我正在研究带有2个参数的脚本。第一个是iso文件的路径,第二个是iso名称。如何检查文件是否为.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
and和--brief
(-b
)标志:
% file -b --mime-type ubuntu-16.04.2-desktop-amd64.iso
application/x-iso9660-image
然后,您可以使用grep
或类似方法来解析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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句