Командная строка: <<< вместо <<

Почему команда md5sum <<< 'ddd' (вывод: d6d88f2e50080b9602da53dac1102762 - ) вправо, а md5sum << 'ddd' нет?

Что означает <<< ?

2 Solutions collect form web for “Командная строка: <<< вместо <<”

<<< начинает строку «здесь»: строка расширяется и подается на stdin программы. (В вашем случае не происходит большой части расширения.) Это эквивалентно этому:

 echo ddd | md5sum 

С другой стороны, << начинается здесь. Все следующие строки до одного, содержащие маркер ddd будут содержать входной сигнал программы. (Вы должны использовать маркер, который вряд ли появится в ваших данных.) Вы могли бы достичь такого же эффекта, как и выше:

 md5sum <<END ddd END 

Существует одна разница между <<END и <<'END' : без кавычек любые переменные, escape-последовательности и т. Д. В документе здесь будут расширены, как обычно.

<<< вводит строку здесь : строка после <<< передается в качестве ввода команды. Это происходит в порте Байрона Ракициса rc (оболочка Plan 9) в Unix и также присутствует в zsh, ksh93 и bash.

<< вводит здесь документ : последующие строки сценария оболочки передаются в качестве входных данных для команды, а строка после << является терминатором. Здесь документы работают во всех оболочках в стиле Бурна (Bourne, POSIX, ash, bash, ksh, zsh, …), оболочках C-стиля (csh, tcsh) и планах Plan 9 (rc, es).

  • разрешение отклонено при перенаправлении вывода sudo sed
  • Как читать из двух входных файлов, используя цикл while
  • Конкретный способ вывода в файл, если задан аргумент, в stdout в противном случае
  • bash: /home/user/.ssh/authorized_keys: нет такого файла или каталога
  • Команда grep не работает в условном выражении
  • исключить файл перенаправления целевых объектов из цикла for for
  • Как просмотреть содержимое файла, который я удалил, но что процесс все еще записывает
  • Как управлять mysql с помощью zpty?
  • Как перенаправить вывод из приложения командной строки (интерпретатор howie AIML) в другое приложение командной строки (espeak)?
  • Как поставить «rm -i» на итерации?
  • Может ли команда в конвейере оболочки определять tty-характеристики своего контекста?
  • Linux и Unix - лучшая ОС в мире.