В чем разница между & lt; & lt; & lt; & lt; & lt; и & lt; & Lt; в bash?

Скопируйте текст, выделив его мышью. Обычно вы можете использовать Ctl + C или щелкнуть правой кнопкой мыши по выбору, выберите «копировать» из всплывающего меню.

Скопируйте текст, выделив его мышью . Ctl + V также работает во многих местах, а также Shift + Insert.

Что делать, если это не работает

Проблема возникает, когда разные приложения используют разные буфера обмена. Вы успешно скопируете текст в буфер обмена в приложении А, но когда вы перейдете в Application B для вставки, он попытается вставить из другого буфера обмена. В Windows все приложения используют один и тот же буфер обмена.

Существует несколько решений. Наверное, самым простым для работы является установка Parcellite.

Установить парселлит

sudo apt-get install parcellite

Запустить парселлит

parcellite&

Значок буфера обмена появится на панели задач.

Используйте parcellite

Скопируйте текст. Щелкните значок буфера обмена на панели задач и выберите нужное меню. Вставьте свой текст.
1
задан 7 February 2017 в 20:43

3 ответа

< < является синтаксической ошибкой:

$ cat < <
bash: syntax error near unexpected token `<'

< <() является заменой процесса (<()) в сочетании с перенаправлением (<):

Придуманный Пример:

$ wc -l < <(grep ntfs /etc/fstab)
4
$ wc -l <(grep ntfs /etc/fstab)
4 /dev/fd/63

При замене процесса путь к файловому дескриптору используется как имя файла. Если вы не хотите (или не можете) использовать имя файла напрямую, вы комбинируете замещение процесса с перенаправлением.

Чтобы быть ясным, нет оператора < <.

22
ответ дан 23 May 2018 в 17:08
  • 1
    я получаю по вашему ответу, что & lt; & lt; () более полезно, чем & lt; () справа? – solfish 17 August 2017 в 16:28
  • 2
    @solfish <() дает файл, подобный файлу, поэтому он более полезен - < <() заменяет stdin там, где это может и не понадобиться. В wc последнее оказывается более полезным. Это может быть менее полезно в других местах – muru 17 August 2017 в 18:07

< < - синтаксическая ошибка, вы, вероятно, имеете в виду command1 < <( command2 ), которая представляет собой простое перенаправление ввода, а затем замену процесса и очень похожа, но не эквивалентна:

command2 | command1

вы выполняете bash, а command1 запускается в подоболочке во втором случае, когда он запускается в текущей оболочке в первом. Это означает, что переменные, установленные в command1, не будут потеряны с вариантом замены процесса.

10
ответ дан 23 May 2018 в 17:08

< < даст синтаксическую ошибку.

Пример < <():

while read line;do
   echo $line
done< <(ls)

В приведенном выше примере вход цикл while будет получен из команды ls, которую можно читать по строкам и echo ed в цикле.

<() используется для замещения процесса. Более подробную информацию и пример для <() можно найти по этой ссылке:

Замена процесса и канал

8
ответ дан 23 May 2018 в 17:08

Другие вопросы по тегам:

Похожие вопросы: