n='!' && [ -n ${n} ] && echo "n=$n"
производит следующее сообщениеShell: слишком много аргументов '!'
[: too many arguments
Почему?
EDIT:
Я использую zsh
➔ echo $ZSH_VERSION
5.0.7
(с oh-my-zsh
)
n='!' && [ -n ${n} ] && echo "n=$n"
производит следующее сообщениеShell: слишком много аргументов '!'
[: too many arguments
Почему?
EDIT:
Я использую zsh
➔ echo $ZSH_VERSION
5.0.7
(с oh-my-zsh
)
Кажется, работает для меня хорошо:
☻ n='!' && [ -n ${n} ] && echo "n=$n"
n=!
~
☻ echo $ZSH_VERSION
5.0.8
(С prezto)
Это может быть связано с самой версией zsh и, следовательно, полезно как «ответ».
Жаль, что это не ответ. В большинстве комментариев. Кроме того, это не помогает мне выяснить, в чем моя проблема. – Tengis
Я разместил это как «ответ», так как более новая версия zsh не имела этой проблемы, прежде чем тратить время на выяснение, в чем проблема, я надеялся, что вы можете попробовать либо обновить версию zsh, либо удалить oh-my-zsh any any пользовательские изменения из '.zshrc' –
В zsh 5.0.8, 'n = '!' && [-n $ {n}] && echo "n = $ n" 'отлично работает и создает' n =! ' –
Обновление до zsh 5.2 решило проблему для меня. – Tengis
Ах, только что увидел это. Не уверен, что проблема связана с zsh 5.0.7 или с oh-my-zsh и 5.0.7. –