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

时间:2016-03-29 08:17:19

标签: string-interpolation fish

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

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也不正确。

如何解决?

1 个答案:

答案 0 :(得分:3)

最简单的是退出引号:

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