Как избежать цельной переменной?

В ответе на это:

https://superuser.com/questions/163515/bash-how-to-pass-command-line-arguments-containing-special-characters

Он сказал, что мы должны поместить аргумент функции в Doublequotes, чтобы избежать всего аргумента (как в "[abc]_[x|y]" ).

Но что, если специальный символ " в начале» ( "[abc]_[x|y]" ), мы не можем сделать следующее:

 program ""[abc]_[x|y]" anotheragument 

Как я могу избежать " в этом случае?

2 Solutions collect form web for “Как избежать цельной переменной?”

Если вы правильно поняли, у вас есть шаблон регулярного выражения в переменной, и вы бы хотели, чтобы grep использовал его, не придавая особого значения метасимволам регулярных выражений. Если это так, опция -F (фиксированные строки) для grep – это то, что вы хотите:

 grep -F "$var" your_file 

Ваша система может также иметь специальную команду ( fgrep ), эквивалентную приведенной выше:

 fgrep "$var" your_file 

Одиночные кавычки должны выполнять то, что вы хотите.

 # " is the special charater var='"hello "word";' grep "$var" file 

На странице справки bash:

 Enclosing characters in single quotes preserves the literal value of each character within the quotes. A single quote may not occur between single quotes, even when preceded by a backslash. Enclosing characters in double quotes preserves the literal value of all characters within the quotes, with the exception of $, ', \, and, when history expansion is enabled, !. The characters $ and ' retain their special meaning within double quotes. The backslash retains its special meaning only when followed by one of the following characters: $, ', ", \, or <newline>. A double quote may be quoted within double quotes by preceding it with a backslash. If enabled, history expansion will be performed unless an ! appearing in double quotes is escaped using a backslash. The backslash preceding the ! is not removed. 
  • Повторение букв Backspace в терминале
  • Проблема с скриптом с пробелами в имени файла
  • Что это означает, когда символы появляются в подсказке после операции?
  • Как обратная косая черта динамической строки в bash
  • sed для сопоставления между совпадающими фигурными фигурными скобками
  • Что означают \ t и \ a в сценарии оболочки?
  • Распечатывать двоичные данные, так как это не нарушает работу терминала
  • Как кнопка tp Print / echo в unix-bash, версия 3.2.52
  • Проблема с командами столбца и цветовыми кодами
  • Вопрос о поведении контрольных клавиш
  • Символы запуска оболочки для sh-c
  • Interesting Posts

    Список точек монтирования внешних устройств хранения, таких как USB-брелки и внешние диски SATA, из кли

    Intel AC 7260 Беспроводная функция на Linux Mint 17 с ядром 4.2.0-35

    find -exec rm для нескольких файлов

    Kipmi0 едет до 99,8% cpu на centos 6.4

    как удалить последние две строки с разделителями из каждой строки в большом файле

    Как отлаживать вставленный модуль ядра?

    RHEL 7 – как настроить взаимодействие на сервере без Интернета?

    Мост частной и общедоступной сети для гостей в KVM

    почему нельзя переименовать subdir, если родительский dir-владелец не является тем же пользователем

    Как восстановить «потерянную» сессию экрана?

    Vim хочет писать на блоке

    Получить содержимое файла из первого экземпляра в последний экземпляр некоторой произвольной строки

    mv: невозможно переместить «home» в «home-old»: занятое устройство или ресурс

    Настройте автозаполнение для первого аргумента, оставьте остальных в покое

    Невозможно записать / не может создать каталог (файловая система только для чтения)

    Linux и Unix - лучшая ОС в мире.