我发现这个命令给了我一个文件中的 mime 类型:
file --mime-type dog.jpeg
Run Code Online (Sandbox Code Playgroud)
输出:
dog.jpeg: image/jpeg
Run Code Online (Sandbox Code Playgroud)
我现在正在尝试创建一个 bash 检查 mime 是否是 jpeg og png。但是我有点卡住了:
#!/bin/bash
$file_mime="file --mime-type dog.jpeg"
mime=`"${file_mime#*:}"`
if(mime=='image/jpg' OR mime=='image/png') do:
echo"Jpg or png"
done
Run Code Online (Sandbox Code Playgroud)
输出:
./bash.sh: line 2: =file --mime-type dog.jpeg: command not found
./bash.sh: line 3: : command not found
Run Code Online (Sandbox Code Playgroud)
您的第一个错误是因为您$的作业有前缀。您的第二个错误是因为您试图将命令的执行与结果的处理结合起来(从结果中剥离文件名)。与 bash 脚本一样,有很多方法可以实现相同的目的,所以这只是一种方法,请尝试:
#!/bin/bash
mime=$(file -b --mime-type dog.jpeg)
if [[ $mime = image/@(jpeg|png) ]]; then
echo "File is a jpeg or png."
fi
Run Code Online (Sandbox Code Playgroud)
然后进行评估,$mime但我建议您搜索并阅读一些 bash 脚本教程以了解if语句等,因为您的if语句不是有效的 bash 脚本。