Какова цель `$ [` в сценариях оболочки? - PullRequest
1 голос
/ 30 марта 2011

В поисках простого способа сделать случайное число, я наткнулся на веб-страницу , которая использовала следующий фрагмент кода

  echo $[ ( $RANDOM % $DIE_SIDES )  + 1 ]

Какова цель $[. Поиск в Google не дал ответа, который я ищу. Спасибо

1 Ответ

4 голосов
/ 30 марта 2011

Конструкция $[expression] используется для арифметики; $[1+1], например, возвращает 2. Вы также можете сказать $((expression)) или expr 1 + 1. Версия команды expr является старой школой и должна работать в любой оболочке, версии $[expression] и $((expression)) работают в bash, но я не уверен, распространяется ли она на POSIX.

Обновление: Форма $[expression] является расширением bash, форма $((expression)) указана для оболочки POSIX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...