다음 스크립트를 만들었습니다.
#!/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