如何将变量值和其他字母连同fishshell一起输出?

How to output the variable value with other letters together with fishshell?

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

shell名字是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"