Задача команды [
- оценивать тестовые выражения. Он возвращается со статусом выхода 0 (что означает true ), когда выражение принимает значение true, и что-то еще (что означает false ) в противном случае.
Дело не в том, что он ничего не делает, просто его результат должен быть найден в его статусе выхода. В оболочке вы можете узнать о статусе выхода последней команды в $?
для оболочек, подобных Bourne, или $ status
в большинстве других оболочек (fish / rc / es / csh / tcsh ...).
$ [ a = a ]
$ echo "$?"
0
$ [ a = b ]
$ echo "$?"
1
В других языках, таких как perl
, статус выхода возвращается, например, в возвращаемом значении system ()
:
$ perl -le 'print system("[", "a", "=", "a", "]")'
0
Обратите внимание, что все современные Bourne-подобные оболочки (и fish
) имеют встроенную команду [
. Один в / bin
обычно запускается только при использовании другой оболочки или при выполнении таких действий, как env [foo = bar]
или find. -exec [-f {}] \; -print
или та perl
команда выше ...
Команда [
также известна под именем test
. Когда вызывается как тест
, он не требует закрывающего аргумента ]
.
Хотя в вашей системе может не быть страницы руководства для [
, она, вероятно, есть для теста
. Но опять же, обратите внимание, что он документирует реализацию / bin / [
или / bin / test
. Чтобы узнать о встроенной функции [
в вашей оболочке, вам следует вместо этого прочитать документацию по вашей оболочке.
Для получения дополнительной информации об истории этой утилиты и различиях с тестовым выражением [[...]]
ksh, вы можете просмотреть другие вопросы и ответы здесь .
Кажется, я определил источник крушения.
Плагин Wordpress:Платежный шлюз Resurs Bank Payment Gateway для WooCommerce , кажется, вызывает этот сбой, при деактивации segfaults прекращаются.
Каким-то образом их использование SoapClient должно быть причиной этого, как я не знаю.
Редактировать:
Плагин был косвенной причиной проблемы, похоже, плагин вызвал ошибку в PHP 7.
https://bugs.php.net/bug.php?id=71662
Предполагается, что это будет исправлено в версии 7.0.4.
Попытался обновить версию PHP до 7.1, ошибок больше нет.