«Слишком много аргументов в [(тестовом) заявлении»

это мой первый сценарий «if-else» в Linux. Это дает ошибку
[: слишком много доводов

Код:

n=0 if [ $n % 2 -eq 0 ] then echo "even number" fi 

Как исправить это.

  • Почему процесс не существует (кажется) существует до того, как читать
  • Найти каталог и скопировать другой каталог в найденный каталог?
  • Есть ли элегантный способ установить переменную оболочки в содержимое файла?
  • Сценарий оболочки, чтобы стать root
  • скрипт bash, вызывающий другой скрипт, вызывает отказ в файле журнала
  • Добавление backtick (`) в вывод heredoc в команде оболочки
  • найти с ls, но с полным покрытием
  • Объясните команду оболочки: shift $ (($ optind - 1))
  • One Solution collect form web for “«Слишком много аргументов в [(тестовом) заявлении»”

    Математика в bash должна выполняться в arithmetic context . В вашей текущей реализации вы поставляете «$ n», «%» и «2» в качестве аргументов для [ , который не выполняет математику. Вот пример, который выполняет математический арифметический контекст:

     if [ "$((n % 2))" -eq 0 ] 

    В приведенном выше примере результаты $(()) расширяются оболочкой до того, как она увидится командой [ command. Это можно упростить, удалив вызов [ :

     if (( (n % 2) == 0 )) 
    Interesting Posts

    Экспортировать несколько опций в $ GREP_OPTIONS

    Как отредактировать файл как root?

    Неизвестная ошибка btrfs, раздел не будет монтироваться

    Невозможно вставить модуль rt2800usb: Недопустимый аргумент

    Настройка cron каждые 30 часов в Debian

    iptables отбрасывает все входящие запросы ICMP, за исключением одного IP-адреса

    Найти, где символ общей библиотеки, определенный в живой системе, / список всех символов, экспортированных в систему

    Как использовать переменную для строки кода скрипта?

    Разница между командами> hostname и> echo $ HOSTNAME и имя входа в /etc/rc.conf: FreeBSD

    Есть ли способ перечисления всех экземпляров, когда определенный файл был изменен / отредактирован?

    Я больше не вижу вывод rc-скриптов

    Как выполнить многострочный grep для нескольких файлов?

    Окрашивание выхода `cat`?

    Скопируйте определенные файлы из указанных подкаталогов в отдельный подкаталог

    Как настроить режим устройства через сеть

    Linux и Unix - лучшая ОС в мире.