Что означает команда "-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.