我制作了以下脚本:
#!/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