bash - 如何在 bash 脚本中编写命令行参数输入重定向?

标签 bash shell syntax ffmpeg

我正在整理一个 bash 脚本来运行电影渲染作业。 ffmpeg期望多行文本文件作为连接过滤器的参数之一到 join several files合而为一。像这样:

ffmpeg -f concat -i mylist.txt -c copy output

还有一个选项可以将它们全部写在一行中,如下所示:
ffmpeg -f concat -i <(printf "file '%s'\n" A.mp4 B.mp4) -c copy Output.mp4

如何将后者写入 bash 脚本,用其他变量替换文件名?尝试拆分变量,但它不是有效的。 $A$B变量包含输入文件的路径。
#!/bin/bash
...
TMP_LIST=$(printf "file '%s'\n" ${A} ${B})
APPEND="${FFMPEG} -f concat -i <<< {${TMP_LIST}} -c copy ${OUTPUT}"
# run the concatenation:
$APPEND

最佳答案

尝试以下操作:

ffmpeg -f concat -i <(printf "file '%s'\n" "$A" "$B") -c copy Output.mp4

关于bash - 如何在 bash 脚本中编写命令行参数输入重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18590635/

相关文章:

arrays - 使用命令输出中引用的条目在 Bash 中创建数组

linux - 使用 [! -d "$DIR"]

javascript - 如何在metaInfo中使用Vue变量?

ruby - 在 Ruby 中,为什么在使用 "do"和 "end"时不能将方法调用视为一个单元?

linux - 如何找到文件的总大小(以字节为单位)?

syntax - 如何在一行中混合绑定(bind)(<-)和赋值(let)? (在 haskell )

bash - 在 bash 脚本中获取星期几

macos - 您将自己的脚本保存在 OSX 的什么位置?

python - 从命令行调用 python 脚本而不先输入 "python"

linux - 从 crontab 运行时,Perl 中的 Carp 库在哪里打印日志