Что означает команда "-ne" в сценарии bash?
Например, что делает следующая строка из сценария bash?
[ $RESULT -ne 0 ]
Что означает команда "-ne" в сценарии bash?
Например, что делает следующая строка из сценария bash?
[ $RESULT -ne 0 ]
Это одна из тех вещей, которые трудно найти, если вы еще не знаете, где искать.
[ на самом деле это команда, а не часть синтаксиса оболочки bash, как вы могли бы ожидать. Это, как правило, встроенная команда Bash, поэтому она задокументирована в руководстве Bash.
Там также внешняя команда, которая делает то же самое; на многих системах, предоставляемых пакетом GNU Coreutils.
[ эквивалентен test команде, за исключением того, что [ требуется ] качестве последнего аргумента, а test - нет.
Предполагая, что документация bash установлена в вашей системе, если вы наберете info bash и info bash поиск
'test'
(обратная сторона и апостроф являются частью поиска), вы найдете документацию для [ команды, также известной как команда test.
После ссылки на "Условные выражения Bash" приведет вас к описанию -ne, который является оператором числового неравенства ("ne" означает "не равно"). Напротив, != оператор линейного неравенства.
Вы также можете найти документацию bash в Интернете.
test и [)-ne находится под "arg1 OP arg2")test Официальное определение test команды - это стандарт POSIX (к которому реализация bash должна соответствовать достаточно хорошо, возможно, с некоторыми расширениями).
"не равно". Таким образом, в этом случае $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.