Проблема была решена при запуске firewalld
в гостевой операционной системе, и теперь все работает!!
Спасибо
Вам нужен -n
тест ("истинно, если длина заданной строки не -равна нулю" ), что противоположно -z
тесту ("истинно, если длина данной строки равна нулю" ).
Тест -p
является чем-то совершенно другим ("истинно, если данный файл существует и является именованным каналом" ).
Эта информация доступна вам в интерактивной bash
оболочке при вводе
help test
, который даст вам документацию для встроенной -в test
утилиты (, которая [
является еще одним вариантом; см. help [
, и в котором [[
используются те же тесты, что и; см.help [[
). Вы также можете ознакомиться с руководством bash
по вашей системе (man bash
), где это описано в разделе «УСЛОВНЫЕ ВЫРАЖЕНИЯ ».
Таким образом, ваш код будет одним из
if [[ -n $var ]]; then...; fi
if [ -n "$var" ]; then...; fi
if test -n "$var"; then...; fi
Сказав это,Я не вижу ничего плохого в
if [[ ! -z $var ]]; then...; fi
если вы, например, хотите убедиться, что значение пустое, и хотите вывести сообщение об ошибке, если оно не пустое. Затем код будет служить для документирования вашего намерения :«Если это не пусто , что-то не так». Это дело вкуса.