При bash 4.2.8(1)-release
(x86_64-pc-linux-gnu
) в Ubuntu 11.04 эта команда
[ $(wc -l /var/www/some.log|cut -d " " -f 1) -le 6 ] || echo "no"
дает
echo: command not found
до тех пор, пока предложение ||
вступит в силу.Предложение &&
работает.Я пытался изменить порядок (сначала ||
, сначала &&
), но безрезультатно.
Забавно,
true && echo "yes" || echo "no"
выход
yes
и
false && echo "yes" || echo "no"
приводит к
no
, поэтому я полагаю, что что-то не так с моим предложением test.Я хотел бы проверить, меньше ли длина файла some.log или равна 6, если нет, то сделать что-то еще, если да.
Двойные скобки в предложении test не работают,либо.
Длинная форма теста работает, хотя:
test $(wc -l /var/www/some.log|cut -d " " -f 1) -le 6 && echo "yes" || echo "no"
yes
Забавно, да?
Как всегда, спасибо за любые советы / подсказки по этому.
Christian.