Очень простая проблема, но я не вижу, в чем проблема. В k sh оболочка, экранирующая кавычку в строке поиска, работает по-разному при назначении переменной и при использовании из командной строки. Все примеры, которые я могу найти, демонстрируют использование командной строки, поэтому не удалось найти совпадения для очень простой c проблемы.
Оба работают нормально:
cat access_443_log .2020-01-09 | grep 'HTTP / 1.1 "200'
cat access_443_log.2020-01-09 | grep" HTTP / 1.1 \ "200"
Но делать это, когда любой из них назначен переменная строка поиска
searchstring = 'HTTP / 1.1 "200' или searchstring =" HTTP / 1.1 \ "200"
cat access_443_log.2020-01- 09 | grep $ searchstring
Ошибка: grep: 0652-033 Не удается открыть 200.
Спасибо.