2016-11-01 3 views
1
n='!' && [ -n ${n} ] && echo "n=$n" 

производит следующее сообщениеShell: слишком много аргументов '!'

[: too many arguments 

Почему?

EDIT:

Я использую zsh

➔ echo $ZSH_VERSION 
5.0.7 

oh-my-zsh)

+0

В zsh 5.0.8, 'n = '!' && [-n $ {n}] && echo "n = $ n" 'отлично работает и создает' n =! ' –

+0

Обновление до zsh 5.2 решило проблему для меня. – Tengis

+0

Ах, только что увидел это. Не уверен, что проблема связана с zsh 5.0.7 или с oh-my-zsh и 5.0.7. –

ответ

0

Кажется, работает для меня хорошо:

☻ n='!' && [ -n ${n} ] && echo "n=$n" 
n=! 

~ 
☻ echo $ZSH_VERSION 
5.0.8 

(С prezto)

Это может быть связано с самой версией zsh и, следовательно, полезно как «ответ».

+0

Жаль, что это не ответ. В большинстве комментариев. Кроме того, это не помогает мне выяснить, в чем моя проблема. – Tengis

+0

Я разместил это как «ответ», так как более новая версия zsh не имела этой проблемы, прежде чем тратить время на выяснение, в чем проблема, я надеялся, что вы можете попробовать либо обновить версию zsh, либо удалить oh-my-zsh any any пользовательские изменения из '.zshrc' –

Смежные вопросы