Не удается установить псевдоним в zsh - команда не найдена?

3

Я пытаюсь установить alias conky-lua ="conky -c ./.conky/conkyrc &" , чтобы запустить conky-lua. но когда я источник .zshrc , он говорит, что команда не найдена.

Возможное решение, которое я нашел в Stackoverflow, - установить alias ls='ls -GpF' , не решило проблему.

    
задан Lynob 23.04.2014 в 14:47
источник

1 ответ

5

Проблема заключается в пространстве вокруг = в команде. Посмотрите:

[:~] % alias a=ls 

это работает как ожидалось

[:~] % type a
a is an alias for ls

Но

[:~] % alias b =ls    
[:~] 1 % 

Это не работает. zsh - два слова, b и =ls ; он использует расширение пути на втором и выполняет alias b /bin/ls --- он выходит молча с кодом ошибки 1, потому что ни b , ни /bin/ls не являются псевдонимами ( alias без = проверяет, является ли имя псевдоним).

[:~] 1 % alias c ="ls -l"
zsh: ls -l not found
[:~] 1 % 

Это не так странно; оболочка пытается расширить полный путь к команде «ls -l» ( с встроенным пространством в имени команды), и поэтому она не ищет ее.     

ответ дан Rmano 23.04.2014 в 16:03
источник