次のスクリプトを作成しました。
#!/bin/bash
read var1
ffmpeg -ss $var1 -y -i "$1" -frames:v 1 -q:v 2 "1$.jpg"
exit
これは単一のファイルに対してうまく機能します。スクリプトは入力を待ってからそれをffmpegに渡します。しかし、これを複数のファイルに再利用するにはどうすればよいですか?つまり、スクリプトでは、このように手動で実行することなく、渡された各パラメータへの入力が必要ですか?
#!/bin/bash
read var1
read var2
read var3
ffmpeg -ss $var1 -y -i "$1" -frames:v 1 -q:v 2 "$1.jpg"
ffmpeg -ss $var2 -y -i "$2" -frames:v 1 -q:v 2 "$2.jpg"
ffmpeg -ss $var3 -y -i "$3" -frames:v 1 -q:v 2 "$3.jpg"
答え1
for
ループを使用してください。
#!/usr/bin/env bash
for param in "$@"; do
read -p "Enter ... something: " -r var
ffmpeg -ss "$var" -y -i "$param" -frames:v 1 -q:v 2 "${param}.jpg"
done
for param in "$@"; do
次のように書くことができますfor param do