Вопросы с тегом «quoting»

15
Как сопоставляются двойные кавычки в bash (в паре)?

Я использую GNU bash 4.3.48. Рассмотрим следующие две команды, которые отличаются только одним знаком доллара. Команда 1: echo "(echo " * ")" Команда 2: echo "$(echo " * ")" На выходе их соответственно (echo test.txt ppcg.sh ) и * Таким образом, очевидно, что в первом случае *символ сглаживается,...

15
Почему такая разница во времени выполнения echo и cat?

Ответ на этот вопрос заставил меня задать еще один вопрос: я думал, что следующие скрипты делают то же самое, а второй должен быть намного быстрее, потому что первый использует catтот, который должен открывать файл снова и снова, а второй открывает только файл один раз, а затем просто выводит...

14
Как сделать bash glob строковой переменной?

Системная информация ОС: OS X bash: GNU bash, версия 3.2.57 (1) -релиз (x86_64-apple-darwin16) Фон Я хочу, чтобы машина времени исключала набор каталогов и файлов из всего моего проекта git / nodejs. Мои каталоги проектов находятся в, ~/code/private/и ~/code/public/поэтому я пытаюсь использовать...

14
POSIX-совместимый способ работы со списком имен файлов, возможно, с пробелами

Я видел руководства по написанию сценариев Bash, предлагающие использовать массив для работы с именами файлов, содержащими пробелы. DashAsBinSh, однако, предполагает, что массивы не являются переносимыми, поэтому я ищу POSIX-совместимый способ работы со списками имен файлов, которые могут содержать...

14
Как grep для трубы |

Как я могу grep для строки, содержащей символ трубы |или для символа >: files content: |this is test where is > this is none Теперь, что мне нужно с помощью команды grep grep -iE "<some expression>" file_name Выход: |this is test where is >...

14
Как 'find -exec' передает имена файлов с пробелами?

Если у меня есть каталог, содержащий некоторые файлы, имена которых имеют пробелы, например $ ls -1 dir1 file 1 file 2 file 3 Я могу успешно скопировать их все в другой каталог, например так: $ find dir1 -mindepth 1 -exec cp -t dir2 {} + Однако выходные данные find dir1 -mindepth 1содержат...

14
Почему восклицательный знак `!` Иногда расстраивает Баш?

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

13
Вложенные кавычки в подоболочках

Скажем, я должен использовать кавычки для инкапсуляции вывода subshell, например: DATA="$(cat file.hex | xxd -r)" Но мне нужно вложить такие вещи, как: DATA="$(cat file.hex | xxd -r | tr -d \"$(cat trim.txt)\")" Я не могу использовать одинарные кавычки, потому что они не раскрывают переменные...

13
rsync исключить из каталога с пробелом

Я пытаюсь исключить каталог "Mendeley Desktop" для rsync. Исключить из = как: Downloads *.o *.iso Dropbox Documents/Mendeley\ Desktop но rsync по-прежнему поддерживает Mendeley Desktop. Как я могу сделать rsync, чтобы игнорировать каталоги с...

13
Поддерживают ли кавычки кроме Bash и Zsh цитирование ANSI-C? например, $ 'string'

У меня есть сценарий оболочки, который использует следующее, чтобы напечатать зеленую галочку в своем выводе: col_green="\e[32;01m" col_reset="\e[39;49;00m" echo -e "Done ${col_green}✓${col_reset}" Прочитав о цитировании Bash по ANSI-C , я понял, что могу использовать его при настройке цветовых...

13
Как предотвратить внедрение команд через параметры команды?

У меня есть приложение-обертка, где мне нужно разрешить пользователю указывать пользовательские параметры для передачи в симулятор. Однако я хочу убедиться, что пользователь не вводит другие команды через пользовательские опции. Какой лучший способ сделать это? Например. Пользователь предоставляет:...

13
Почему я должен дважды убежать от «точки»?

Я знаю, что мы можем избежать специального символа, такого как *(){}$с, \чтобы считаться литералами. Например \*или\$ Но в случае .я должен сделать это дважды, в \\.противном случае это считается специальным персонажем. Пример: man gcc | grep \\. Почему это...

13
Как использовать специальный символ как нормальный?

Многие вопросы, например, «Как ввести символ двойной кавычки (»)? нас спрашивают, и мы не хотим загромождать наше сообщество одним и тем же ответом (введите его, как \"будто он не заключен в 's, "если заключен в 's.) Итак, вопрос здесь. Вы не можете вводить специальные символы в терминал, как...

13
Bash добавляет дополнительные одинарные кавычки

У меня проблема с выполнением моего скрипта. При выполнении этого в режиме отладки (bash -x) я вижу, что bash добавляет дополнительные кавычки. Поэтому мой сценарий не работает. Вот это в моем сценарии: testvar="\"sudo /home/pi/shared/blink.sh 27 off\"" ssh -n -q -q -o BatchMode=yes -o...

12
Количество обратных косых черт, необходимых для экранирования обратного слеша регулярных выражений в командной строке

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

12
Как я могу развернуть тильду ~ как часть переменной?

Когда я открываю приглашение bash и набираю: $ set -o xtrace $ x='~/someDirectory' + x='~/someDirectory' $ echo $x + echo '~/someDirectory' ~/someDirectory Я надеялся, что 5-я строка выше пошла бы + echo /home/myUsername/someDirectory. Есть ли способ сделать это? В моем исходном скрипте Bash...