Подставьте расширение файла в псевдоним zsh

Я пытаюсь создать псевдоним для cwebp для запуска из zsh, преобразующего файл входного изображения, в файл выходного изображения с тем же именем, но с расширением файла.webp:

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

Тогда в зш

> cwebphoto hello.png

Возвращает преобразованный файл с именем .webpКак я могу вместо этого вернуть файл с именем hello.webp?

Любая помощь приветствуется!

1 ответ

Решение

Вместо этого вам нужна функция.

cwebphoto () {
  cwebp -preset "photo" -short -noalpha $1 -o ${1%.*}.webp
}

zsh, вы также можете использовать $1:r на месте ${1%.*}.)

Другие вопросы по тегам