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

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

2
Добавьте аргументы в 'bash -c'
Допустим, я хочу запустить команду через Bash следующим образом: /bin/bash -c "ls -l" Согласно странице руководства Bash, я мог бы запустить ее так: # don't process arguments after this one # | pass all unprocessed arguments to command # | | # V V /bin/bash -c ls -- -l за …

1
Почему «find» не показывает этот файл?
Используя findс grep, можно найти файлы, которые соответствуют шаблону: # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log Однако, используя findтолько первый файл не найден: # find . -name error* ./error_log ./includes/classes/error_log Почему не findнаходит errors.htmlфайл, когда не используется с grep? Как findиспользуется, чтобы показать этот файл, а?

1
Как обеспечить, чтобы строка, интерполированная в подстановку `sed`, экранировала все метасхемы
У меня есть скрипт, который читает текстовый поток и генерирует файл команд sed, который позже запускается sed -f. Сгенерированные команды sed выглядят так: s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g s/cid:image003\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1923/g s/cid:image004\.jpg@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1924/g Предположим, что скрипт, который генерирует sedкоманды, выглядит примерно так: while read cid fileid do cidpat="$(echo $cid | sed -e s/\\./\\\\./g)" echo 's/'"$cidpat"'/https:\/\/mysite.com\/files\/'"$fileid"'/g' >> sedscr …
21 sed  quoting 

2
вложенные двойные кавычки в однолинейных с высоким рейтингом
StackOverflow ответ с> 3.5K голосов показывает этот один вкладыш для присвоения DIRдиректории текущего скрипта Баша: DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" Я озадачен вложенными двойными кавычками. Насколько я могу судить, следующие фрагменты заключены в двойные кавычки: "$( cd " "${BASH_SOURCE[0]}" " && pwd )" ... и все …

1
используя sed с амперсандом (&)
Я использую sed для поиска и замены шаблонов в имеющихся у меня файлах SAS, а не для их индивидуального изменения. Проблема в том, что я пытаюсь заменить макропеременные, и когда я использую амперсанд, он обрабатывается неправильно. Here's my code: sed -ie 's/user=&uid./user=&sysuserid./g' *_table_*.sas всякий раз, когда я запускаю эту команду, …
19 sed  quoting  replace 

4
Как присвоить пространственные значения переменным в bash, используя eval
Я хочу динамически присваивать значения переменным, используя eval. Следующий фиктивный пример работает: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Однако когда значение переменной содержит пробелы, evalвозвращается ошибка, даже если $var_valueона заключена в двойные кавычки: var_name="fruit" var_value="blue orange" eval $(echo $var_name="$var_value") bash: orange : command not found Есть ли способ …
19 bash  shell  quoting 

2
Каково значение одинарных и двойных кавычек в переменных среды?
Я определил некоторые переменные окружения в моем .profile следующим образом: MY_HOME="/home/my_user" но переменная, похоже, не оценивается, если я не скину кавычки и не получу файл заново. Я полагаю, что кавычки необходимы, если будут пробелы, и одинарные кавычки используются, если экранирование нежелательно. Может ли кто-то прояснить значение одинарных и двойных кавычек …

3
Почему параметры в кавычках не работают, но работают без кавычек?
Я читал о том, что я должен заключать в кавычки переменные в bash, например, «$ foo» вместо $ foo. Однако при написании скрипта я обнаружил случай, когда он работает без кавычек, но не с ними: wget_options='--mirror --no-host-directories' local_root="$1" # ./testdir recieved from command line remote_root="$2" # ftp://XXX recieved from command …

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

2
Расширение переменной оболочки и влияние glob и split на него
Этот пост на самом деле содержит два отдельных вопроса, но я думаю, что их объединение даст больше контекста. Я прошел через этот вопрос о кавычках вокруг переменных, но я не совсем понимаю, что означает расширение переменных . Итак, мой первый вопрос: Что говорят расширения переменных в unix / linux? Вторая …

2
Одинарная кавычка в двойных кавычках и справочное руководство Bash
В разделе 3.1.2.3 под названием Двойные кавычки руководство Bash гласит: Заключение символов в двойные кавычки ('"') сохраняет буквальное значение всех символов в кавычках, за исключением '$', '`', '\' и, когда расширение истории включено, '!'. На данный момент меня интересует одиночная кавычка ( '). Это особое значение, описанное в предыдущем разделе, …
18 bash  shell  quoting 

1
Как правильно заключить в кавычки $ (команда $ arg)?
Самое время решить эту головоломку, которая беспокоила меня годами ... Я встречался с этим время от времени и думал, что это путь: $(comm "$(arg)") И думал, что мое мнение было решительно подтверждено опытом. Но я больше не уверен в этом. Shellcheck тоже не может определиться . Это оба: "$(dirname $0)"/stop.bash …

1
Почему эта команда ffmpeg работает в bash, а не в zsh?
Сегодня я вернулся домой с работы (запустил bash на коробке с Ubuntu) и попытался запустить какой-то код на моей локальной коробке с моим любимым zsh, и команды не выполнялись? Команда внизу с личной информацией и ip явно изменилась ffmpeg -i rtsp://user:pass@my.webserver.org:5554/my-media/media.amp?videocodec=h264 -threads 3 -vcodec copy -f segment -segment_time 2 outfiles/cam_out%04d.mp4 …
17 bash  zsh  quoting  url 

5
Использование сгенерированного списка имен файлов в качестве списка аргументов - с пробелами
Я пытаюсь вызвать скрипт со списком имен файлов, собранных find. Ничего особенного, просто что-то вроде этого: $ myscript `find . -name something.txt` Проблема в том, что некоторые пути содержат пробелы, поэтому при раскрытии аргумента они разбиваются на два недопустимых имени. Обычно я бы заключал имена в кавычки, но здесь они …

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

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