3

我正在尝试使用该exec()函数从节点执行一个基本的 bash 脚本。bash 脚本如下:

#!/bin/bash
ffmpeg -f concat -i <(for f in $1/*.mov ; do echo "file '$f'"; done) -c copy $1/output.mov

该脚本从命令行运行它可以正常工作,但是从节点内运行时出现语法错误:( line 2: syntax error near unexpected token'`

运行此命令节点时会出现它尝试使用sh而不是bash. 任何人都可以验证这是真的并提供可能的解决方法或解决方案吗?提前谢谢!

4

2 回答 2

4

尝试child_process.execFile或直接运行['/bin/bash', '/path/to/your/script.sh', arg1, arg2...].

于 2013-10-19T00:42:09.427 回答
4

如果您使用的是最新版本的 Node,则可以将以下内容添加为 exec 选项:

{shell: "/bin/bash"}

请参阅:https ://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback

于 2016-01-24T21:41:13.417 回答