#linux #bash #command-line
#linux #bash #командная строка
Вопрос:
Люди… Я кодирую файл Linux bash, и он мне нужен для поиска текста 'Josh''1234
. Есть ли какой-нибудь способ игнорировать эти апострофы? вот что я пробовал: (Josh установлен как usr
и 1234 как pas
.)
if grep -q ''$usr''$pas''; then
echo username and password correct
else
echo INCORECT
sleep 10
fi
Комментарии:
1. Это вводит в заблуждение. Это одинарные кавычки, а не апострофы.
Ответ №1:
Просто заключайте в двойные кавычки, чтобы одинарные кавычки можно было включать нормально:
grep "'$usr''$pas"
# ^ ^
# ^ ^^
# single quotes to match
Комментарии:
1. Или, если
"
трудно запомнить,.
это только в два раза сложнее:grep .$usr..$pas
Это решение предоставлено QND solutions. Чувак, мне действительно нужно сделать что-то более продуктивное… Этот комментарий самоуничтожится…2. Я предлагаю добавить
.
after$pas
.3. Почему, @Cyrus ? Немного непонятно, как OP обращается к нему: он упоминает
'Josh''1234
(без каких-либо дополнительных символов после прохождения), но затем''$usr''$pas''
.4. @JamesBrown хорошо то
"
, что он будет продолжать работать, если передача или usr содержит пробел.5. @fedorqui: Хороший улов.