0

我有一个小 bash 脚本,我想在其中获取文件的格式。

FILENAME=$1

GET_FILE_FORMAT=`file $FILENAME | grep -i data`
if[[ "$GET_FILE_FORMAT" = *data* ]]
        echo "Format Data";
fi

但是我得到的输出如下

./try.bash test.data
./try.bash: line 4: if[[ test.data : data = *data* ]]: No such file or directory
Format Data
./try.bash: line 6: syntax error near unexpected token `fi'
./try.bash: line 6: `fi'
4

1 回答 1

4

这里有几个问题:

  1. 后面没有空间了if

  2. if未指示条件的结尾,即。

要修复,请说:

if [[ "$GET_FILE_FORMAT" = *data* ]]; then

为了防止在文件名本身包含字符串时获得不正确的信息data,请说:

GET_FILE_FORMAT=$(file "${FILENAME}" | awk -F: '{print $NF}')
于 2013-09-10T05:00:47.613 回答