2

В терминальном сеансе (SSH), какова цель режима, запускаемого апострофом последовательности клавиш apostrophe <ENTER> или более буквально '<ENTER> .

Как выйти из этого режима?

1 ответ1

5

Ввод ' Enter ' не запускает какой-либо специальный режим SSH. (Обычные) команды, которые вы вводите, интерпретируются оболочкой на другом конце вашего SSH-соединения, а не самим SSH.

'Обычно называется апостроф в скорлупе терминологии, "двойной кавычки, и` является кавычка.

' запускает последовательность символов, которая не интерпретируется оболочкой. Это полезно, например, если вам нужно передать и аргументировать программу, которая должна содержать $ или другую последовательность символов, которая иначе интерпретировалась бы оболочкой, или которая содержит символы новой строки. Вы заканчиваете эту последовательность другим ».

" похоже, но происходит некоторая интерполяция (т.е. переменные расширяются).

`Отличается. Это для подстановки команд. Если вы печатаете

echo `foo`

выходные данные запуска программы foo подставляются перед выполнением команды echo . Другой способ сделать это - использовать $(...):

echo $(foo)

Поэтому, если вы введете « ввод», вы просто начинаете многострочную литеральную строку. Вы заканчиваете это либо соответствием ', либо нажатием Ctrl C, если хотите выделиться.

$ echo 'hello
> this
> is 
> a
> multiline
> string
> '
hello
this
is
a
multiline
string
$ echo 'foo $PWD'
foo $PWD               # no interpolation
$ echo "foo $PWD"
foo /tmp               # interpolation

Начало строки с ' не очень полезно само по себе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .