将文件扩展名替换为zsh别名

问题描述

我正在尝试为cwebp创建一个别名,以便从zsh运行,它将输入图像文件转换为同名但具有.webp文件扩展名的输出图像文件

# in .zshrc
alias cwebphoto='cwebp -preset "photo" -short -noalpha $1 -o ${1%.*}.webp'

然后在zsh中

> cwebphoto hello.png

返回名为.webp的转换文件 我该如何返回一个名为hello.webp文件

感谢您的帮助!

解决方法

您想要一个函数。

RadioButton

(在cwebphoto () { cwebp -preset "photo" -short -noalpha $1 -o ${1%.*}.webp } 中,您也可以使用zsh代替$1:r。)