Неожиданное расширение глобального псевдонима zsh
РЕДАКТИРОВАТЬ: Пример работает в чистом Zsh. Моя установка с презто не будет работать. Похоже на ошибку в презто.
Я пытался псевдоним sponge
как SP
в зш. Но результат довольно удивительный.
Без глобального псевдонима:
❯ echo xxx >! xxx
❯ cat xxx | sponge xxx
❯ cat xxx # non-empty file
xxx
С глобальным псевдонимом:
❯ echo xxx >! xxx
❯ alias -g SP='| sponge '
❯ cat xxx SP xxx
❯ cat xxx
(empty file, no lines are shown here)
В чем причина странного поведения? Как я могу заставить это работать?
1 ответ
Вы заменяете то, что должно быть каналом с аргументом
cat xxx SP xxx
означает, что у кота теперь есть 3 аргумента
alias -g SP='sponge'
а также
cat xxx | SP
Должен дать вам желаемые результаты