Nano Hash - криптовалюты, майнинг, программирование

Что означает -ne в bash?

Что означает команда «-ne» в сценарии bash?

Например, что делает следующая строка сценария bash?

[ $RESULT -ne 0 ] 
17.07.2013


Ответы:


1

Это одна из тех вещей, которые может быть трудно найти, если вы еще не знаете, где искать.

[ на самом деле является командой, а не частью синтаксиса оболочки bash, как можно было ожидать. Это встроенная команда Bash, поэтому она задокументирована в руководстве Bash.

Есть также внешняя команда, которая делает то же самое; во многих системах он предоставляется пакетом GNU Coreutils.

[ эквивалентна команде test, за исключением того, что [ требует ] в качестве последнего аргумента, а test — нет.

Предполагая, что в вашей системе установлена ​​документация bash, если вы наберете info bash и выполните поиск 'test' или '[' (апострофы являются частью поиска), вы найдете документацию для команды [, также известной как команда test. Если вы используете man bash вместо info bash, ищите ^ *test (слово test в начале строки после некоторого количества пробелов).

После ссылки на «Условные выражения Bash» вы найдете описание -ne, оператора числового неравенства («ne» означает «не равно»). Напротив, != — это строковое неравенство. оператор.

Вы также можете найти документацию по bash в Интернете.

официальное определение команды test — это стандарт POSIX (которому реализация bash должна достаточно хорошо соответствовать, возможно, с некоторыми расширениями).

17.07.2013
  • Я бы предложил документацию POSIX, а не документы coreutils. test это, в конце концов, команда POSIX. 17.07.2013

  • 2

    "не равно" Итак, в этом случае проверяется, что $RESULT не равно нулю.

    Однако тест выполняется числово, а не по алфавиту:

    n1 -ne n2     True if the integers n1 and n2 are not algebraically equal.
    

    в сравнении с:

    s1 != s2      True if the strings s1 and s2 are not identical.
    
    17.07.2013
  • хороший момент в том, чтобы назвать разницу между числовым и строковым сравнением... это легко упустить из виду 30.01.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..