为什么我的zsh脚本中没有$ {1:r}剥离文件扩展名?

时间:2016-04-04 14:42:26

标签: zsh

我正在编写一个自动化某些视频编码的zsh脚本。要转换的文件将是脚本的第一个参数,其中包含以下行:

ffmpeg -i $1 -ac 0 -vcodec libx264 -b:v 500k -crf 20 ${1:r}.mp4

我希望${1:r}.mp4创建一个与我的.mov输入同名的文件,但.mp4文件扩展名替换.mov。但相反,我得到input.mov.mp4。为什么不是:r修饰符剥离文件扩展名?

1 个答案:

答案 0 :(得分:4)

我经历了类似的事情,似乎zsh不接受:r关于位置参数。相反,你可以做这样的事情:

file=${1}
ffmpeg -i $1 -ac 0 -vcodec libx264 -b:v 500k -crf 20 ${file:r}.mp4