Одиночные кавычки защищают символы от интерпретации оболочкой , но grep
по-прежнему обрабатывает аргумент как регулярное выражение.
Вы можете отключить это поведение, запустив grep с параметром -F
или --fixed-strings
:
grep -F 'purchase.' demo.txt
Одинарные кавычки не нужны, поскольку ни один из этих символов p
, u
, r
, c
, h
, a
, s
, e
или .
не используется. специально для оболочки:
grep -F purchase. demo.txt
Или вы можете использовать grep
без -F
, но экранировать оператор регулярного выражения .
с помощью\
:
grep 'purchase\.' demo.txt
Одинарные кавычки заключаются в том, что\
(также является специальным для оболочки; оператор кавычек там )буквально передается в grep
. Или вы можете использовать оператор цитирования оболочки \
для цитирования самого себя:
grep purchase\\. demo.txt
Вы также можете использовать оператор регулярного выражения [set]
для сопоставления с литералом.
:
grep 'purchase[.]' demo.txt
Опять же, [set]
является также оператором оболочки (там подстановочным оператором ), поэтому его также необходимо заключать в кавычки (здесь снова с одинарными кавычками ).
Переменные среды Sudo управляются файлом sudoers. Согласно справочной странице sudoers . По умолчанию в файле sudoers включена опция env_reset
, поэтому установлена минимальная среда. Вы можете внести переменные в белый список с помощью опций env_check
и env_keep
. Кроме того, PATH sudo контролируется опцией secure_path
.