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

23
Удалить все файлы, начинающиеся с знака вопроса

У меня есть папка, в которой у меня есть около 4k файлов. Некоторые из этих файлов начинаются с буквы aa ?или !символа. Мне нужно удалить их, но я не могу найти выражение, которое сделает это: rm -f ./?* просто удаляет все Возможно, я могу использовать grepls, передать его по конвейеру xargsи...

23
Зачем избегать тривиальных символов в сценарии оболочки?

Я только что открыл устаревший скрипт оболочки (написанный на старом ksh88 на Solaris) и обнаружил, что во всем коде повторяется следующее: [ -f $myfile ] && \rm -f $myfile Убегающий обратный слеш кажется мне странным. Я знаю, что это преднамеренно, так как этот вид (очевидно бесполезный)...

23
Зачем использовать двойные кавычки в тесте [[]]?

Допустим, у нас есть 2 целых числа в скрипте bash: value1=5 value2=3 Тогда зачем нам использовать двойные кавычки в случае теста? Например: if [[ "$value1" -eq "$value2" ]] Почему бы просто не использовать следующее? if [[ $value1 -eq $value2 ]] Для меня двойные кавычки не имеют никакого...

23
В чем разница между эхо `date`, эхо“ `date`” и echo '`date`'?

В чем разница между этими тремя командами? echo `date` echo "`date`" echo '`date`' Я запутался в том, каковы различия на самом деле. Я думаю, что когда «вокруг», это означает, что это строка, поэтому эхо будет буквально выводить строку dateвместо отображения...

22
Добавьте аргументы в '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 за исключением того, что,...

22
Как я могу удалить файл с именем «>»?

Я запускал скрипт Python, который работал со сбоями и использовал sudoдля создания файла с именем >. Как я могу избавиться от этого файла? Конечно, когда я пытаюсь sudo rm >, я получаю ошибку bash: syntax error near unexpected token 'newline', потому что он думает, что я пытаюсь перенаправить...

21
Почему «find» не показывает этот файл?

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

21
Как обеспечить, чтобы строка, интерполированная в подстановку `sed`, экранировала все метасхемы

У меня есть скрипт, который читает текстовый поток и генерирует файл команд sed, который позже запускается sed -f. Сгенерированные команды sed выглядят так: s/cid:image002\.gif@01CC3D46\.926E77E0/https:\/\/mysite.com\/files\/1922/g...

20
вложенные двойные кавычки в однолинейных с высоким рейтингом

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

19
Как присвоить пространственные значения переменным в bash, используя eval

Я хочу динамически присваивать значения переменным, используя eval. Следующий фиктивный пример работает: var_name="fruit" var_value="orange" eval $(echo $var_name=$var_value) echo $fruit orange Однако когда значение переменной содержит пробелы, evalвозвращается ошибка, даже если $var_valueона...

19
Каково значение одинарных и двойных кавычек в переменных среды?

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

19
используя sed с амперсандом (&)

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

18
Одинарная кавычка в двойных кавычках и справочное руководство Bash

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

18
Должны ли переменные быть заключены в кавычки при выполнении?

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

18
Расширение переменной оболочки и влияние glob и split на него

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

18
Почему параметры в кавычках не работают, но работают без кавычек?

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

17
Почему эта команда ffmpeg работает в bash, а не в zsh?

Сегодня я вернулся домой с работы (запустил bash на коробке с Ubuntu) и попытался запустить какой-то код на моей локальной коробке с моим любимым zsh, и команды не выполнялись? Команда внизу с личной информацией и ip явно изменилась ffmpeg -i...

17
Как правильно заключить в кавычки $ (команда $ arg)?

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

16
Использование сгенерированного списка имен файлов в качестве списка аргументов - с пробелами

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

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

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