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

筆記:

相關內容