我知道有很多类似的问题,但是因为所有神的爱我无法使它工作,或者我遗漏了一些完全明显的东西,在这种情况下请原谅..
简单目录,我想调用每个文件的名称和mime类型:
for i in "attachments/*"
do
echo $i $(file --mime-type -b $i)
done
为什么我的输出如下:
attachments/query.sql attachments/script.sh text/plain text/x-shellscript
当我期待:
attachments/query.sql text/plain attachments/script.sh text/x-shellscript
答案 0 :(得分:3)
/tmp/attach/*
周围不需要引号。
for i in /tmp/attach/*
do
echo "$i : $(file --mime-type -b $i)"
done
当您使用引号时,您将/tmp/attach/*
传递给file
命令,而不仅仅是一个文件名。