[sisyphus] zsh/bash: различия работы let
Epiphanov Sergei
serpiph на nikiet.ru
Чт Июл 19 13:21:31 MSD 2007
В сообщении от Thursday 19 July 2007 10:28:03 Slava Semushin написал(а):
> Здравствуйте!
>
> Читал статью
> http://www.ibm.com/developerworks/ru/library/l-bash-test/index.html и
> обнаружил, что с помощью let можно получить десятичное значение числа,
> заданного в восьмеричной форме. Вот только в zsh это не работает.
> Может баг?
сейчас прочитал man zshmisc по арифметическим вычислениям, такая работа
вычислителя и подразумевается:
> [c0der на rock ~]$ /bin/bash -c 'let x="015"; echo $x'
> 13
> [c0der на rock ~]$ /bin/zsh -c 'let x="015"; echo $x'
> 15
Зато работает так:
$ /bin/zsh -c 'let "x=[#10]8#15"; echo $x'
13
$
> C шестнадцатеричными значениями тоже работает иначе:
>
> [c0der на rock ~]$ /bin/bash -c 'let x="0xff"; echo $x'
> 255
> [c0der на rock ~]$ /bin/zsh -c 'let x="0xff"; echo $x'
> 16#FF
Аналогично:
$ /bin/zsh -c 'let "x=[#10]0xff"; echo $x'
255
$
Основа счисления в zsh сохраняется для каждого параметра независимо,
--
С уважением, Епифанов Сергей
Подробная информация о списке рассылки Sisyphus