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

Строки обычно отделяются кавычками, что поднимает проблему работы со строками, которые включают кавычки.

13
Как выполнить поиск для нескольких шаблонов с шаблоном, имеющим символ трубы?
Я хочу найти все строки в нескольких файлах, которые соответствуют одному из двух шаблонов. Я попытался найти шаблоны, которые я ищу, набрав grep (foo|bar) *.txt но оболочка интерпретирует это |как канал и жалуется, когда barне является исполняемым файлом. Как я могу grep для нескольких шаблонов в одном наборе файлов?

10
Как удалить файл, имя которого начинается с «-» (дефис или минус)?
Как удалить файл, имя которого начинается с тире (дефис или минус) -? Я ssh'd на удаленном сервере OSX, и у меня есть этот файл в моем каталоге: tohru:~ $ ls -l total 8 -rw-r--r-- 1 me staff 1352 Aug 18 14:33 --help ... Как в мире я могу удалить --helpиз …

5
Почему мой сценарий оболочки заглушает пробелы или другие специальные символы?
Или вводное руководство по надежной обработке имени файла и другой передаче строк в сценариях оболочки. Я написал сценарий оболочки, который работает хорошо большую часть времени. Но он душит некоторые входные данные (например, некоторые имена файлов). Я столкнулся с такой проблемой, как: У меня есть имя файла, содержащее пробел hello world, …

3
Какие символы мне нужно экранировать при использовании sed в скрипте sh?
Возьмите следующий скрипт: #!/bin/sh sed 's/(127\.0\.1\.1)\s/\1/' [some file] Если я попытаюсь запустить это в sh( dashздесь), это потерпит неудачу из-за круглых скобок, которые должны быть экранированы. Но мне не нужно избегать обратной косой черты (между октетами или в \sили \1). Какое правило здесь? Как насчет того, когда мне нужно использовать …

3
Последствия для безопасности: забыть заключить переменную в оболочку bash / POSIX
Если вы следили за unix.stackexchange.com какое-то время, вы должны надеяться, что уже знаете, что оставление переменной без кавычек в контексте списка (как в echo $var) в оболочках Bourne / POSIX (исключение zsh) имеет очень особое значение и не должно быть сделано, если у вас нет очень веских причин. Это обсуждается …

3
Почему 'ls' внезапно заключает элементы в одинарные кавычки?
Я только что заметил, что на одном из моих компьютеров (на котором запущен Debian Sid) всякий раз, когда я lsнабираю имя файла с пробелами, его заключают в одинарные кавычки. Я немедленно проверил свои псевдонимы, чтобы найти их нетронутыми. wyatt@debian630:~/testdir$ ls 'test 1.txt' test1.txt wyatt@debian630:~/testdir$ alias alias ls='ls --color=auto' alias wget='wget …

6
Что `(backquote / backtick) означает в командах?
Я наткнулся на следующую команду: sudo chown `id -u` /somedir и мне интересно: что означает `символ. Например, я заметил, что хотя приведенная выше команда работает хорошо, приведенная ниже не работает: sudo chown 'id -u' /somedir
160 shell  quoting 


3
Цитирование в $ (подстановка команд) в Bash
В моей среде Bash я использую переменные, содержащие пробелы, и я использую эти переменные в подстановке команд. К сожалению, я не могу найти ответ на SE. Как правильно указать мои переменные? И как мне это сделать, если они вложенные? DIRNAME=$(dirname "$FILE") или я цитирую вне подстановки? DIRNAME="$(dirname $FILE)" или оба? …

1
Когда необходимо двойное цитирование?
Старый совет заключался в том, чтобы заключать в двойные кавычки любое выражение, включающее $VARIABLE, по крайней мере, если кто-то хотел, чтобы оболочка интерпретировала его как один отдельный элемент, в противном случае любые пробелы в содержимом $VARIABLEбудут отбрасывать оболочку. Однако я понимаю, что в более поздних версиях оболочек двойные кавычки больше …

6
Как я могу выполнить `date` внутри задания cron?
Я хочу создать файл журнала для скрипта cron с текущим часом в имени файла журнала. Это команда, которую я пытался использовать: 0 * * * * echo hello >> ~/cron-logs/hourly/test`date "+%d"`.log К сожалению, я получаю это сообщение при запуске: /bin/sh: -c: line 0: unexpected EOF while looking for matching ``' …

7
Не можете использовать восклицательный знак (!) В bash?
Я пытаюсь использовать команду curl для доступа к URL-адресу http с восклицательным знаком ( !) на своем пути. например: curl -v "http://example.org/!287s87asdjh2/somepath/someresource" консоль отвечает с bash: ... event not found. Что здесь происходит? и какой будет правильный синтаксис, чтобы избежать восклицательного знака?

4
Почему расширение параметров с пробелами без кавычек работает в двойных скобках «[[», но не в одинарных скобках «[»?
Я запутался с использованием одинарных или двойных скобок. Посмотрите на этот код: dir="/home/mazimi/VirtualBox VMs" if [[ -d ${dir} ]]; then echo "yep" fi Это работает отлично, хотя строка содержит пробел. Но когда я изменяю это на одну скобку: dir="/home/mazimi/VirtualBox VMs" if [ -d ${dir} ]; then echo "yep" fi Это …
86 bash  quoting  ksh  test 

7
Использование sed для поиска и замены сложной строки (желательно с регулярным выражением)
У меня есть файл со следующим содержанием: <username><![CDATA[name]]></username> <password><![CDATA[password]]></password> <dbname><![CDATA[name]]></dbname> и мне нужно сделать скрипт, который меняет «имя» в первой строке на «что-то», «пароль» во второй строке на «что-то другое», а «имя» в третьей строке на «что-то другое». Я не могу полагаться на порядок их появления в файле, поэтому я …

3
Что значит иметь в скрипте строку с префиксом $ Dollign?
Я только что видел это в сценарии инициализации: echo $"Stopping Apache" Для чего этот знак доллара? Мои исследования до сих пор: Я нашел это в руководстве по bash: extquote Если установлено, $'string'и $"string"цитирование выполняется внутри ${parameter}расширений, заключенных в двойные кавычки. Эта опция включена по умолчанию. ... но я не вижу …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.