арифметическая синтаксическая ошибка в сравнении строк

Я написал сценарий оболочки, который принимает имя файла как параметр, например user / test.txt. Я хочу, чтобы этот параметр файла был необязательным, если пользователь не хочет предоставлять имя файла, которое он может дать как «Нет»,

Внутри сценария я просто проверяю, содержит ли параметр имени файла «None»

if [ $filename -eq "NONE" ];then cmd; fi 

Когда «None» передается, поскольку скрипт параметров работает нормально, но когда пользователь / test.txt передается, я получаю ниже сообщение об ошибке, которое я не хочу печатать на консоли

 arithmetic syntax error 

Может ли кто-нибудь помочь?

One Solution collect form web for “арифметическая синтаксическая ошибка в сравнении строк”

[ bla bla bla ] эквивалентен test bla bla bla .

Из man test

  STRING1 = STRING2 the strings are equal STRING1 != STRING2 the strings are not equal INTEGER1 -eq INTEGER2 INTEGER1 is equal to INTEGER2 

Поэтому вам нужно = not -eq .

  • Дайте команде удалить повторяющиеся строки в TXT-файле и сохраните новый файл как файл new.txt
  • Объяснение вывода скрипта
  • Запустить 4 программы при запуске в Linux Mint через терминал
  • Как разобрать $ {! I} (и что это значит)?
  • grep script - выводит строки одновременно в эхо
  • Оболочка оболочки оболочки для предотвращения запуска команды без аргументов?
  • Как эта команда su -c "...", кажется, передает две команды вместо одной?
  • Как я могу обнаружить оболочку без входа? (В Zsh)
  • Создайте новый файл, удалив новый символ строки в конце файла
  • Как печатать номера строк с соответствующей строкой, соответствующей шаблону с помощью команды оболочки?
  • Как сохранить код в скрипте
  • Вычтите 7 дней с сегодняшнего дня
  • Interesting Posts

    gnome-shell берет на себя процессор

    Может grep | crontab уничтожить все рабочие места?

    Самая легкая совместимая с Compiz среда?

    Структура папки каталога зеркал lftp

    Ошибка при обновлении ubuntu (ошибки были обнаружены во время обработки)

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

    Почему бы не использовать обратные ссылки для цикла

    Чтение строк из файла с помощью bash: for vs. while

    Как добавить бесполезную случайную строку в команду linux, чтобы идентифицировать ее через ps?

    Как получить использование физической памяти в Solaris с помощью командной строки

    Ошибка подключения для драйвера веб-камеры linux для Matlab

    ftp пользователь может писать где угодно в домашнем каталоге, но не в домашнем каталоге привязки

    Multi-Graphics Cards, Multi-Heads, 3 + монитор с использованием Nouveau, GDM3 и Debian 8.6

    Цикл forach для вывода ls

    правила аудита linux, исключая на основе типа msg exe, для команды su

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