[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: логическое И (and) error: line 27: [: пропущен `]'



Am 01.12.2013 18:20, schrieb Oleksandr Gavenko:
On 2013-12-01, yuri.nefedov@gmail.com wrote:

  [] - всё равно что test.
  man test
        EXPRESSION1 -a EXPRESSION2
               both EXPRESSION1 and EXPRESSION2 are true
  => замените && на -a

  Или [ "$count" -gt 10 ] && [ "$count" -lt 20 ]

'-a' - предпочтительней из соображений эффективности. Избавляемся от
избыточного fork+exec.

Если Bash - то [ - встроенная комманда:

   $ type [
   [ is a shell builtin

и нет накладок на создание поцесса, и мне:

   [ "$count" -gt 10 ] && [ "$count" -lt 20 ]

приятней...


Кто знает в чём разница между расположением на одной строке и на следующий?
Просто по разному реагирует вся конструкция.

Когда if и then располагаются в одной строке, то конструкция if должна завершаться точкой с запятой. И if, и then -- это зарезервированные слова. Зарезервированные слова начинают инструкцию, которая должна быть завершена прежде, чем в той же строке появится новая инструкция.


--
..
http://wiedergold.net/


Reply to: