Bash exec缺少终止值

时间:2016-08-27 04:13:38

标签: bash find applescript exec terminate

我到处寻找,似乎无法找到适用于我的情况的任何内容,但我可能无法理解我犯错误的地方。如果在我无法找到问题的地方之前已经回答过,我会事先道歉。

我的代码抛出错误:

  

查找:-exec:没有终止";"或" +"

on run {input, parameters}

tell application "Terminal"
    activate
    set filesString to ""
    repeat with file_ in input
        set filesString to filesString & " " & quoted form of (POSIX path of file_)
    end repeat
    {}
    do script "MOVIES=/Volumes/MEDIA/Video;
find \"$MOVIES\" -name '*.mkv' -exec sh -c 'ffmpeg -i \"$0\" -vcodec copy -acodec copy \"${0%%.mkv}.mp4\" ' ; "

    end tell
    return input
end run

我尝试使用automator来简化转换过程。希望它不是一个解决方案太复杂。

更新:我似乎修复了上一个问题,但现在却抛出了

  

sh:没有这样的文件或目录

下面的代码在终端中单独工作,但不能通过automator:

MOVIES=/Volumes/MEDIA/Video
find "$MOVIES" -name '*.mkv' -exec sh -c 'ffmpeg -i "$0" -vcodec copy -acodec copy "${0%%.mkv}.mp4"' {} \;

1 个答案:

答案 0 :(得分:1)

您必须在查找结尾处转义ss.initClass(eb, h, SomeFunction(), m) (由于您的报价而加倍;

\