Я использую экспортированные переменные, сохраненные в .bashrc, которые представляют собой даты на сегодняшний день и следующий день, чтобы попытаться найти для них совпадения на веб-странице, которую я собираю для получения информации о погоде. Мне пришлось сохранять переменные даты с разделителями (которые представляют собой тире), иначе я не смог бы экспортировать их в ~/.bashrc, который скрипт обновляет автоматически. Проблема в том, что даты, с которыми я пытаюсь сопоставить их с веб-страницы, содержат пробелы, а исходные даты - тире.
Пример экспортированной переменной, которая у меня есть в ~/.bashrc:
Итак, если я попытаюсь сопоставить пятницу, 4 октября, как это отображается на веб-странице следующим образом:
Код: Выделить всё
grep -F $(echo $xdate | tr '-' ' ') casablanca_info
Мой результат соответствует только пятнице, поэтому я использовал -F, чтобы попытаться сопоставить всю строку. Я новичок в программировании и знаю, что могу без проблем использовать grep, например grep -F 'Fri 04 Oct', но я не могу сопоставить строку, когда она находится в переменной, и удаляю пробелы.Я также пытался заключить $xdate в такие кавычки
Код: Выделить всё
grep -F $(echo "$xdate" | tr '-' ' ') casablanca_info
и я попытался изменить его с того, как он был сохранен в ~/.bashrc, на
чтобы принудительно искать всю строку, включая пробелы, и я снова возвращаю в результатах только пятницу.
Совет, который я получил от Shellcheck. net предложила заключить $xdate в кавычки или включить директиву shebang, которую я попробовал просто ради смеха, но я тестировал это непосредственно в оболочке bash, чтобы заставить его работать перед сохранением кода в скрипте.
Подробнее здесь:
https://stackoverflow.com/questions/790 ... -of-dashes