Найдите последовательность в теге xml и удалите строку, являющуюся частью тэга match

В вашей конфигурации sudo включена опция tty_tickets . Это значение по умолчанию.Эта опция сообщает sudo, что если вы аутентифицируетесь, вводя пароль на одном терминале, то это только подтверждает использование sudo на этом терминале.

Когда вы добавили эти перенаправления, sudo потерял соединение с вашим терминалом. (Я думаю, что sudo использует параметр pam PAM_TTY , чтобы определить, на каком терминале он работает; я не знаю, как это определяется.) В случае сомнений sudo все время спрашивает.

Параметр tty_tickets полезен только в том случае, если вы могли оставить сеанс автоматического входа в систему где-нибудь на терминале, где случайный прохожий может затем попытаться запустить sudo для эскалации ваша учетная запись для root. Он не оказывает никакого воздействия даже на умеренно изощренных злоумышленников, которые могут внедрить вредоносное ПО в вашу учетную запись и взломать ее при следующем запуске sudo. Так что реальной пользы от этого варианта нет, это только помеха.

Чтобы отключить эту опцию, запустите visudo для редактирования конфигурации sudo и добавьте строку

Defaults !tty_tickets
0
08.02.2019, 15:21
1 ответ

Если вам нужно иметь одно или несколько чисел (вы сказали число с ), тогда вам нужно [[:digit:]][[:digit:]]для двух, [[:digit:]][[:digit:]][[:digit:]]для трех и т. д.

if [[ $var == "R-"${PROJ_NM}"-"[[:digit:]][[:digit:]]"-"* ]] ; then 
    echo "Naming convention is in correct format"
else 
    echo "Not in correct format" 
fi

Но можно немного упростить цитаты:

if [[ $var == "R-${PROJ_NM}-"[[:digit:]][[:digit:]]"-"* ]] ; then 
    echo "Naming convention is in correct format"
else 
    echo "Not in correct format" 
fi

Кроме того, в более новых версиях bash можно использовать регулярные выражения:

if [[ $var =~ ^R-${PROJ_NM}-[0-9]+- ]] ; then 
    echo "Naming convention is in correct format"
else 
    echo "Not in correct format" 
fi
4
28.01.2020, 02:18

Теги

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