grep searchstring / etc / crontab странное поведение в скрипте BASH

Я работаю над скриптом BASH, который создает автоматическое резервное копирование через crontab. Я пытаюсь использовать

myVARIABLE=`grep backup /etc/crontab` 

для возврата строк, содержащих «резервную копию», если запись уже сделана. Вместо того, чтобы возвращать строки из /etc/crontab похоже, он возвращает вывод нескольких команд ls. Я запустил команду

  • Найти последнее появление строки в нескольких файлах
  • как использовать grep -v в сценарии ожидания
  • напишите bash scipt, что ssh на несколько серверов и запускает там скрипт, который запускает приложение, но не умирает, когда ssh отключается
  • Цветной вывод терминала игнорирует последовательность сброса. Цвет продолжается
  • Сохранение вывода команды в переменной оболочки
  • Как запустить grep и показать x количество строк до и после матча
  •  grep backup /etc/crontab 

    из командной строки и работает так, как ожидалось. Я также могу grep другие файлы через мой скрипт BASH, и он также возвращает ожидаемые результаты. Любые мысли о том, почему /etc/crontab вызывает проблемы grep в скрипте? Благодаря!

  • печатать несколько слов, разделенных пробелом
  • Могу ли я указать перенаправленный вход перед составной командой?
  • Как получить сервис, который гарантирует, что программа будет работать?
  • Рекурсивный поиск не работает для grep on solaris
  • Бах Глобстар
  • Можно ли очистить env var во время завершения bash?
  • One Solution collect form web for “grep searchstring / etc / crontab странное поведение в скрипте BASH”

    Это связано с тем, что / etc / crontab содержит символы звездочки ( * ), которые, если они не экранированы, будут расширены оболочкой.

    Сравните выходные данные этих двух команд:

     echo $myVariable echo "$myVariable" 

    Первая команда использует переменную unescaped, поэтому символы звездочки будут расширены для всех файлов в текущем каталоге. Вторая команда – это то, что вы хотите, реальное содержимое файла crontab.

    Linux и Unix - лучшая ОС в мире.