Bash 单个输入多次

Bash 单个输入多次

我有一个如下的脚本:

ffmpeg -i input.mp4 -stabilization-pass-1-stuff && \
ffmpeg -i input.mp4 -b:v xxxxk -stabilization-pass-2-h264-pass-1-stuff && \
ffmpeg -i input.mp4 -b:v xxxxk -h264-pass-2-output-stuff output.mp4

我该如何重写脚本,以便我必须在脚本开始时提供 input.mp4 和比特率 xxxxk 一次?

答案1

使用 shell 变量。“不重复自己”是 shell 变量的主要用例之一:

#!/bin/sh

file='input.mp4'
bitrate='xxxxk'

ffmpeg -i "$file" -stabilization-pass-1-stuff &&
ffmpeg -i "$file" -b:v "$bitrate" -stabilization-pass-2-h264-pass-1-stuff &&
ffmpeg -i "$file" -b:v "$bitrate" -h264-pass-2-output-stuff output.mp4

笔记:

相关内容