Neden komut md5sum <<< 'ddd'
(çıktı:) d6d88f2e50080b9602da53dac1102762 -
doğru md5sum << 'ddd'
değil mi?
Ne <<<
demek istiyorsun?
Neden komut md5sum <<< 'ddd'
(çıktı:) d6d88f2e50080b9602da53dac1102762 -
doğru md5sum << 'ddd'
değil mi?
Ne <<<
demek istiyorsun?
Yanıtlar:
<<<
Başlar bir “Burada dizesi”: string genişletilmiş ve programın stdin'e beslenir. (Sizin durumunuzda, pek fazla genişleme olmuyor.) Buna eşdeğer:
echo ddd | md5sum
Öte yandan, <<
burada bir belge başlatır. İşaretleyiciyi içeren birine kadar aşağıdaki tüm satırlar ddd
programın girişini içerecektir. (Verilerinizde görünmesi muhtemel olmayan bir işaretleyici kullanmalısınız.) Yukarıdaki gibi aynı etkiyi elde edebilirsiniz:
md5sum <<END
ddd
END
Arasında bir fark vardır <<END
ve <<'END'
her zamanki gibi genişletilecektir tırnak olmadan, herhangi bir değişken, burada belgede vb dizileri kaçış:.
<<<
here dizesini tanıtır : sondaki <<<
komut komuta girdi olarak iletilir. Bu, Byron Rakitzis'in Unix'e rc
(bir Plan 9 kabuğu) olan limanından kaynaklanır ve ayrıca zsh, ksh93 ve bash'ta bulunur.
<<
burada bir belge tanıtır : kabuk betiğinin sonraki satırları komuta girdi olarak iletilir ve sonraki <<
sonlandırıcıdır. Burada tüm Bourne tarzı mermilerde (Bourne, POSIX, kül, bash, ksh, zsh,…), C tarzı mermiler (csh, tcsh) ve Plan 9 mermilerinde (rc, es) çalışılmaktadır.
<<<
bir ksh
uzantı değil , yol rc
-> zsh
-> ksh93
-> bash
( ksh
notu bir defa ödünç aldığınızı onaylayan notlar zsh
). <<
ayrıca rc
stil kabukları ile de çalışıyor
rc
ve zsh
<<<
olsa olmasıyla rc
bir arka satır karakteri içermez s ve geçici bir dosya kullanmaz (bir boru ve en az Linux limanda beslemek İlave işlemi kullanır).
<<<
için Unix limanından geliyor gibi görünüyor . rc
rc
rc
,<<<
(like<<
) 'nin geçici bir dosya kullanması dışındalseek
kendi stdin komutları tarafından kullanılabilir .