在 zsh 别名中替换文件扩展名
Substitute a file extension in a zsh alias
我正在尝试为 cwebp
到 运行 从 zsh 创建别名,将输入图像文件转换为同名的输出图像文件,但使用 .webp 文件扩展名:
# in .zshrc
alias cwebphoto='cwebp -preset "photo" -short -noalpha -o ${1%.*}.webp'
然后在 zsh
> cwebphoto hello.png
Returns 一个名为 .webp
的转换文件
我怎样才能 return 一个名为 hello.webp
的文件?
感谢任何帮助!
你想要一个函数。
cwebphoto () {
cwebp -preset "photo" -short -noalpha -o ${1%.*}.webp
}
(在zsh
中,您也可以使用:r
代替${1%.*}
。)
我正在尝试为 cwebp
到 运行 从 zsh 创建别名,将输入图像文件转换为同名的输出图像文件,但使用 .webp 文件扩展名:
# in .zshrc
alias cwebphoto='cwebp -preset "photo" -short -noalpha -o ${1%.*}.webp'
然后在 zsh
> cwebphoto hello.png
Returns 一个名为 .webp
的转换文件
我怎样才能 return 一个名为 hello.webp
的文件?
感谢任何帮助!
你想要一个函数。
cwebphoto () {
cwebp -preset "photo" -short -noalpha -o ${1%.*}.webp
}
(在zsh
中,您也可以使用:r
代替${1%.*}
。)