[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