Половина букв во всех словах отсутствует

Обратная косая черта часто используется, чтобы сказать «сделать следующий символ сам по себе, вместо того, чтобы придавать ему особое значение». Мы говорим, что обратная косая черта помещает в кавычки следующий символ. Это значение присутствует во многих языках программирования, включая синтаксис оболочки. Например, в rpm-qa rpmname \ * обратная косая черта вызывает передачу символа * в аргументе команды rpm-qa . Напротив, rpm-qa rpmname * заменит rpmname * списком имен файлов в текущем каталоге, начиная с rpmname .(Если подходящего файла нет, то bash оставляет только rpmname * ; по умолчанию zsh будет жаловаться на отсутствие совпадений.)

Оболочка предлагает другой способ интерпретировать символ буквально, т. Е. Сделать его стоять за себя, а не интерпретироваться каким-то особым образом. Это цитирование, отменяющее особое значение целой последовательности символов. Есть два вида цитат:одинарные кавычки ' заставляют каждый символ стоять сам за себя до следующей одинарной кавычки, тогда как двойные кавычки « сохраняют особое значение для нескольких символов (» , ] $ , \ и `). В echo 'that' \ '' s no moon ' команда echo принимает единственный аргумент, который представляет собой конкатенацию , что (записанное с буквальным строка, а не то, что в этом конкретном случае был какой-либо символ со специальным значением), ' (одинарная кавычка с обратной косой чертой отменяет особое значение этой одинарной кавычки, поэтому она заменяется одним символом одинарной кавычки), и s no moon (пробелы теряют свое особое значение, поскольку они заключены в кавычки: вместо разделения аргументов они являются частью аргумента).

В оболочке, когда обратная косая черта имеет особое значение, это обычно заключается в заключении следующего символа в кавычки. Но:

  • Внутри одинарных кавычек обратная косая черта не имеет особого значения.
  • Внутри двойных кавычек обратная косая черта помещает в кавычки следующий символ, только если он один из "$ \` . В противном случае и обратная косая черта, и следующий символ интерпретируются буквально, например, "\ a" представляет собой двухсимвольную строку \ a .
  • Внутри литералов с одинарными кавычками в виде доллара обратная косая черта имеет другое значение, аналогичное значению в C . Обратная косая черта с последующим восьмеричным цифрами или определенными буквами предоставляет альтернативные способы ввода символов, что полезно для непечатаемых символов.Например, \ n - это N в нижнем регистре, «\ n» - это обратная косая черта + n, но $ '\ n' - это символ новой строки.

В grep '\ s / tmp' / etc / fstab одинарные кавычки приводят к тому, что grep получает аргумент \ s / tmp . Этот аргумент является регулярным выражением . Существует множество вариантов синтаксиса для регулярных выражений, но большинство из них основано на одном из двух стандартов: Базовые регулярные выражения POSIX (BRE) и расширенные регулярные выражения (ERE) . ERE следуют широко распространенному соглашению, согласно которому обратная косая черта, за которой следует что-либо, кроме буквы или цифры, помещает следующий символ в кавычки. Но по историческим причинам в BRE обратная косая черта иногда может сделать следующий символ особенным, хотя иначе это было бы не так. В этом случае \ s - это расширение GNU grep для базового синтаксиса регулярных выражений, доступное как с BRE, так и с ERE, что означает один пробельный символ. Таким образом, grep '\ s / tmp' / etc / fstab перечисляет строки в / etc / fstab , содержащие / tmp , которым предшествует пробел или табуляция.

3
18.05.2016, 15:41
2 ответа

Придя сегодня с работы и включив ноутбук, я обнаружил, что проблема решилась сама собой. Это первый раз, когда у меня была такая проблема на любой машине.

Мое лучшее предположение - это то, что это как-то связано с перегревом. Мой ноутбук имеет тенденцию сильно нагреваться.

0
27.01.2020, 21:39

Убедитесь, что в Chrome используется правильная кодировка символов:

https://support.google.com/news/answer/61689?hl=en

установил Unicode UTF-8

0
27.01.2020, 21:39

Теги

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