Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: [: -b: binary operator expected  (Прочитано 1385 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн kduk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
[: -b: binary operator expected
« : 05 Марта 2018, 20:08:55 »
Код: (bash) [Выделить]
HTML=./kva.html
if [ du -b "$HTML" ] ; then
echo "Empty"
else
echo "No"
fi

небольшой кодик, но вылазит ошибка, что не так? пробовал ставить двойные [[ ]], но тогда ругается ещё и на них   
« Последнее редактирование: 06 Марта 2018, 14:16:22 от Azure »

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 6723
  • 20% Cooler
    • Просмотр профиля
Re: [: -b: binary operator expected
« Ответ #1 : 05 Марта 2018, 20:39:02 »
[ - это команда test, а не конструкция if!
если проверяете, пустой ли файл, лучше так
HTML=./kva.html
if [ ! -s "$HTML" ]  ; then
echo "Empty"
else
echo "No"
fi

подробнее: man test

Пользователь добавил сообщение 05 Марта 2018, 20:45:53:
или по вашему сценарию (но это костыль и лучше так не делать!)
HTML=./kva.html
if (( $(du -b "$HTML" | cut -f1) == 0 )) ; then
   echo "Empty"
else
echo "No"
fi
Сами видите, сколько всего лишнего.
Здесь опять же, (( - не конcтрукция if, а команда выполнения арифметических действий (замена let)!

Почитайте, кстати - https://habrahabr.ru/company/mailru/blog/311762/
Очень хорошо рассказано о некоторых нюансах bash
« Последнее редактирование: 05 Марта 2018, 20:51:22 от ALiEN175 »
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн kduk

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: [: -b: binary operator expected
« Ответ #2 : 07 Марта 2018, 14:38:46 »
[ - это команда test, а не конструкция if!
если проверяете, пустой ли файл, лучше так
Почитайте, кстати - https://habrahabr.ru/company/mailru/blog/311762/
Очень хорошо рассказано о некоторых нюансах bash

Огромное спасибо!

 

Страница сгенерирована за 0.044 секунд. Запросов: 25.