Почему команда md5sum <<< 'ddd'
(output:) d6d88f2e50080b9602da53dac1102762 -
верна, а md5sum << 'ddd'
нет?
Что <<<
значит?
shell
io-redirection
Жан Паулюс
источник
источник
rc
,<<<
(вроде<<
) использует временный файл, поэтому может использоваться командами, которыеlseek
их stdin.<<<
вводит строку здесь : строка после<<<
передается в качестве ввода в команду. Это происходит из порта Байрона Ракицисаrc
(оболочка Plan 9) в Unix, а также присутствует в zsh, ksh93 и bash.<<
представляет здесь документ : последующие строки сценария оболочки передаются в качестве входных данных для команды, а строка после<<
является терминатором. Здесь документы работают во всех оболочках в стиле Борна (Bourne, POSIX, ash, bash, ksh, zsh,…), в оболочках в стиле C (csh, tcsh) и в оболочках Plan 9 (rc, es).источник
<<<
не являетсяksh
расширением, путьrc
->zsh
->ksh93
->bash
(ksh
примечания к выпуску подтверждаются для однократного заимствования функцииzsh
).<<
также работает вrc
стиле снарядовrc
и,zsh
<<<
хотя в этомrc
нет заключительного символа новой строки и не используется временный файл (используется канал и дополнительный процесс, подающий его, по крайней мере, в порт Linux).<<<
поступает из порта Unix,rc
поскольку он не похож на Plan9rc
.