sudo -i и ~/.pam _окружение

Одиночные кавычки защищают символы от интерпретации оболочкой , но 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]является также оператором оболочки (там подстановочным оператором ), поэтому его также необходимо заключать в кавычки (здесь снова с одинарными кавычками ).

1
22.09.2020, 23:25
1 ответ

Переменные среды Sudo управляются файлом sudoers. Согласно справочной странице sudoers . По умолчанию в файле sudoers включена опция env_reset, поэтому установлена ​​минимальная среда. Вы можете внести переменные в белый список с помощью опций env_checkи env_keep. Кроме того, PATH sudo контролируется опцией secure_path.

1
18.03.2021, 23:03

Теги

Похожие вопросы