конфетка sudo удаляет php Linux в aws

[…! = ""] сравнивает левый сторону со строкой, содержащей один пробел. […! = ""] сравнивает левую часть с пустой строкой. В программировании оболочки есть странности и подводные камни, но этот конкретный случай очевиден.

'ping google.com -c 4 | grep time ' - это буквальная 32-символьная строка. Вы, вероятно, хотели использовать вывод команды, то есть подстановку команды . Вы можете использовать для этого обратные кавычки (вместо используемых вами форвардных кавычек) или долларовые скобки, которые более читабельны и менее подвержены ошибкам в некоторых сложных случаях.В любом случае, вам нужно заключить все в двойные кавычки, иначе результат подстановки команды будет разбит на слова и дальнейшая мерзость .

if [ "$(ping google.com -c 4 | grep time)" != "" ]; then …

Все это довольно окольный, хрупкий способ проверки возможности подключения. Вместо этого используйте статус возврата из ping .Вероятно, достаточно одного пакета, и вы должны указать довольно небольшой тайм-аут на случай, если сеть не работает. Pinging google.com проверяет, работают ли и IP-соединение, и DNS. Вы можете выполнить ping 8.8.8.8 , чтобы проверить, работает ли соединение IPv4 (8.8.8.8 - это сервер, запущенный Google).

if ping -q -c 1 -W 1 8.8.8.8 >/dev/null; then
  echo "The network is up"
else
  echo "The network is down"
fi

См. Также Сценарии оболочки: правильный способ проверки подключения к Интернету?

0
04.05.2018, 12:30
1 ответ

мы должны указать правильное имя пакета. Сначала проверьте, какая версия php установлена.

rpm -qa php*

проверьте установленный пакет и удалите его.

yum remove rh-php56

или

rpm -Uvh --nodeps php-<version>.rpm

0
28.01.2020, 04:23

Теги

Похожие вопросы