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

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


1
Подстановочные знаки внутри кавычек
Это будет легко, но в моей памяти, когда сценарии оболочки используют двойные кавычки, можно расширить глобализацию и переменные. Но в следующем коде: #!/bin/sh echo *.sh echo "*.sh" echo '*.sh' echo $LANG echo "$LANG" echo '$LANG' Я получаю этот результат: bob.sh redeployJboss.sh *.sh *.sh en_US.utf8 en_US.utf8 $LANG То есть одинарные кавычки …

2
grep и избегая знака доллара
Я хочу знать, какие файлы имеют строку $Id$. grep \$Id\$ my_dir/mylist_of_files возвращает 0 вхождений. Я обнаружил, что я должен использовать grep \$Id$ my_dir/mylist_of_files Затем я вижу, что $Idцвет на выходе, то есть он был сопоставлен. Как я могу соответствовать второй $и почему не \$Id\$работает. Не имеет значения, является ли второй …

6
Проверка, является ли входной номер целым числом
Я пытаюсь проверить, является ли ввод целым числом, и я прошел через него сто раз, но не вижу ошибки в этом. Увы, он не работает, он запускает оператор if для всех входных данных (цифры / буквы) read scale if ! [[ "$scale" =~ "^[0-9]+$" ]] then echo "Sorry integers only" …

4
Кавычки в конструкциях типа ssh $ host $ FOO и ssh $ host «sudo su user -c $ FOO»
Я часто заканчиваю тем, что выполняю сложные команды через ssh; Эти команды включают в себя конвейерную передачу в awk или perl на одну строку, и в результате содержат одинарные кавычки и $. Я не смог придумать жесткое и быстрое правило для правильного цитирования, и не нашел для этого хороших ссылок. …
30 bash  shell  ssh  quoting 

2
Как выполнить произвольную простую команду над ssh, не зная оболочки входа удаленного пользователя?
ssh имеет раздражающую особенность, когда вы запускаете: ssh user@host cmd and "here's" "one arg" Вместо того чтобы запускать cmdего с включенными аргументами host, он объединяет cmdаргументы и аргументы с пробелами и запускает оболочку hostдля интерпретации полученной строки (я думаю, поэтому она вызывается sshи не вызывается sexec). Хуже того, вы не …

3
Как отобразить `одиночные кавычки` при использовании одинарных кавычек для переноса специальных символов в оболочке?
Сегодня я читаю учебник по оболочке от http://www.tutorialspoint.com/unix/unix-quoting-mechanisms.htm В котором упоминается: Если в строке для вывода отображается одинарная кавычка, вы не должны помещать всю строку в одинарные кавычки, вместо этого вы должны были использовать обратную косую черту () следующим образом: echo 'It\'s Shell Programming' Я пробовал это на моем сервере …
26 shell  quoting 

5
Зачем мне нужно указывать переменную для if, но не для echo?
Я читал, что вам нужны двойные кавычки для расширения переменных, например if [ -n "$test" ]; then echo '$test ok'; else echo '$test null'; fi будет работать как положено, пока if [ -n $test ]; then echo '$test ok'; else echo '$test null'; fi всегда будет говорить, $test okдаже если …
26 shell  quoting 

4
Ошибка сценария Bash со строками с путями, которые имеют пробелы и подстановочные знаки
У меня возникли проблемы с основами написания скриптов на Bash. Вот что у меня так далеко: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done Все, что я хочу сделать, это перечислить все .txtфайлы в forцикле, чтобы я мог с ними что-то делать. Но пространство в my directoryзвездочке …

5
Почему эхо игнорирует символы моей кавычки?
Этот вопрос был перенесен из-за сбоя сервера, поскольку на него можно ответить в Unix и Linux Stack Exchange. Мигрировал 8 лет назад . Команда echoне включает полный текст, который я даю. Например, если я делаю: $ echo ' echo PARAM=` grep $ARG /var/tmp/setfile | awk '{print $2}' ` ' Это …
24 shell  quoting  echo 

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

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

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

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

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

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