Как реализовать поиск, аналогичный «подходящему поиску» в bash

I should preface with stating I have effectively no experience with RHEL

при этом, будучи сервером HP, который, я уверен, находится у вас на работе, а не дома, и у вас, вероятно, будет какой-то план обслуживания с HP, и что сервер был настроен и установлен HP, это вероятно, многие вещи настроены определенным образом (по какой-либо причине ), и вам следует связаться с HP.

  • статус systemctl NetworkManager; это, вероятно, не активно, поэтому вы не видите значок сети в правом верхнем углу в rhel 7.6 с gnome; rhel 7.6, скорее всего, имеет сетевой драйвер.
  • используя комбинацию lspci и ifconfig и ethtool вы можете легко увидеть, присутствуют ли драйверы на аппаратном уровне, так что linux видит и может использовать сетевая карта, поэтому нужно будет включить сеть и клиент dhcp _в rhel. Извините, что не буду давать туториал, который можно легко найти с помощью поиска в Интернете по этим командам...https://www.cyberciti.biz/faq/linux-list-network-cards-command/. И вы, вероятно, увидите, что это сетевое оборудование Intel.
  • Таким образом, как только вы включили сеть и активировали клиент dchp, вы должны получить IP-адрес и шлюз по умолчанию, предоставленные вашему серверу любым сервером dchp в вашей сети; это может быть не так, если администратор сети вашей компании ограничивает этот доступ и не имеет MAC-адреса вашего сервера (среди прочего ). И затем, если вы получите IP-адрес, вам, вероятно, (в корпоративной среде )потребуется указать адрес прокси вашей компании и порт в сетевых настройках.И тогда, вероятно, есть доверенный корневой сертификат компании, который вам нужен, иначе ничего https не будет работать, и для этого вы должны поместить.pem (, преобразованный из формата.cer, экспортированный из InternetExplorer, на ПК компании )под /etc/pki/ca-trust/source/anchors/, а затем как root сделатьupdate-ca-trust
0
23.03.2021, 01:29
1 ответ

Я надеюсь, что это может быть принято в качестве ответа.

Ваш алгоритм должен быть:

  1. найти каталоги, имена которых содержат строку поиска. Если такие найдены, выведите имя каталога и catсоответствующее описание.

Например:

for dir in *${SEARCHSTRING}*
do
  echo $dir
  cat "$dir/description"
done
  1. среди всех остальных каталогов найдите описания, содержащие искомую строку. Если найдете, см. выше.

Например:

for dir in *
do
  if [[ $dir != *${SEARCHSTRING}* ]]
  then 
    if grep -q "$SEARCHSTRING"
    then 
      echo $dir
      cat "$dir/$SEARCHSTRING"
    fi
  fi
done

Две петли можно без особых усилий соединить в одну. ПРЕДОСТЕРЕЖЕНИЕ :Я просто собрал их вместе, не тестируя и не адаптируя к вашей существующей программе.

Что на самом деле делает ваш алгоритм :

  1. Найти каталоги, содержащие строку поиска.Затемcatвсе описания и grep для результата этого поиска, даже если этот результат пуст. Есть по крайней мере два нежелательных последствия :При поиске не -существующего каталога все будет напечатано. Кроме того, печатаются только те строки описания, которые содержат строку поиска.
  2. Вы не рассматриваете случай, когда описание, а не каталог, содержит строку поиска.

Это нельзя исправить, изменив одну или две строки. Думаю, нужен редизайн.

1
28.04.2021, 22:57

Теги

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