然而,根据指令编写的脚本,我得到了意想不到的结束

时间:2017-05-21 06:06:11

标签: shell

返回错误:

cgheonea@sd-76777:~$ /bin/bash -n monitor.sh
monitor.sh: line 22: syntax error: unexpected end of file

执行以下脚本时:

#!/bin/bash
MOVIES="/tmp/movies"

declare -a format=("mkv" "mp4" "avi" "mpg" "mpeg")
declare -a lang=("en" "it" "es")

inotifywait -m -r -e close_write "$MOVIES" --format "%w%f" | while read fm;
do
    EXTENSION=${fm##*.}
    for i in "${format[@]}"
    do
      if [[ "$EXTENSION" = "$i" ]]; then
        for x in "${lang[@]}"
        do
          python /usr/local/bin/subliminal download -l $x $fm
        done
      fi
    done
done

固定。 以上作品。

1 个答案:

答案 0 :(得分:0)

显而易见的一点是array syntax是错误的。 Bash数组元素不是逗号分隔的,它们是以空格分隔的。因此,language值实际上是" es,"," en,"和"它"。

uset应为unset