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

С переменными оболочки. «Не повторяться» — один из основных вариантов использования переменных оболочки:

#!/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

Примечания:

Связанный контент