。剧本mp4到mp3

0

的问题

#!/bin/bash
for i in *.mp4
do
ffmpeg -i "$i" -ab 128k "${i%mp4}mp3"
done

这批次转换的所有*.mp4的文件在目前的目录到mp3。 。需要安装或包括在发行版的. 有时我不希望一切都在CWD转换。 我要修改这个脚本,这样。

  1. 如果没有参数的剧本什么都不做
  2. 如果参数是*。mp4它把所有。mp4。mp3
  3. 如果参数的文件名。mp4它只将这一文件,文件名。mp3

我可以得到一些帮助,bash脚本代码? TIA! 不知道如何阅读的论点关闭的命令行,并把它们放在脚本

1美元的2万? 你只要给我一个例子。 我应该能够做到的其他人。

bash ffmpeg script
2021-11-23 16:45:49
1

最好的答案

0

你可以让壳处理扩展,然后在你脚本循环的位置的参数。 你可以做到

for i in "$@"

或者,甚至更短,只是

for i

作为默认的行为是循环的位置的参数。

所以,你的脚本看起来会像

#!/usr/bin/env bash

for i; do
    ffmpeg -i "$i" -ab 128k "${i%mp4}mp3"
done

你会叫它喜欢

yourscript           # Do nothing
yourscript *.mp4     # Expands to all .mp4 files
yourscript file.mp4  # Process just file.mp4
2021-11-23 17:13:32

谢谢你这么多。 这个运作良好。 我可以用我在任何庆典剧本读取的第一个参数后scrfipt的名字吗? 我认为这是1美元的2万3美元等。
teddymills

@teddymills的"魔术"是在 for i 线,这隐含地做 for i in "$@",哪里 $@ 是一系列的所有位置的参数。 $1, $2 等等。 是个位置参数,如果你想要访问它们直接。
Benjamin W.

的名称 i 是任意的;你也可以使用 for paramfor file 相反,和参与 $param$file.
Benjamin W.

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................