如何将带有其他字母的变量值与fishshell一起输出



我想写一个鱼壳来改变音频文件的速度。

外壳名称是speed,我可以这样称呼它:

speed 1.mp3 0.7

然后我会得到一个新的文件[0.7x] 1.mp3与改变的速度。

但我的目标文件名有问题:

速度

#!/usr/local/bin/fish
set source $argv[1]
set ratio $argv[2]
ffmpeg -i $source -filter:a "atempo=$ratio"  "[{$ratio}x] $source"

它将输出一个新文件[{0.7}x] 1.mp3,其中包含不必要的{}。但如果我把它作为"[$ratiox] $source"去掉,$ratiox也不正确。

如何修复?

最简单的方法是退出引号:

ffmpeg -i $source -filter:a "atempo=$ratio" "["$ratio"x] $source"

最新更新