BASH не может корректно отображать переменную, содержащую '\' - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть переменная, содержащая \, и я не могу корректно выполнить grep.

Я делаю сниппет для подключения к точкам Wi-Fi.

  1. Я сканирую все точки Wi-Fi и сохраняю эту информацию в /tmp/wifi.spots

  2. , затем копирую интересующую меня точку (щелчком правой кнопки мыши))

  3. затем вставьте имя пятна во входную команду:

  4. сделайте несколько других вещей:

    a.grep /tmp/wifi.spots, чтобы выбрать точку доступа с наилучшим качеством (= 70/70, если возможно)

    b.grep /tmp/wifi.spots для настройки wpa_conf, если есть пароль

Вот мой код:

iwlist <wifi device> scan > /tmp/wifi.spots    

grep /tmp/wifi.spots | grep -i essid 


read -rp "what essid you want to connect to?" ESSID

Вот проблема: допустим, я хочуподключиться к месту под названием "G \ xC3 \ x92TIC".Для корректной работы grep в /tmp/wifi.spots, мне нужно переписать переменную ESSID: G \\ xC3 \\ x92TIC

Так что мне нужно следующее.После вставки моего essid в ESSID мне нужно проверить его на наличие символа '\' и переписать переменную, если необходимо, прежде чем перейти к шагу 4.

...