SORU
30 NİSAN 2010, Cuma


Bash, stdin boru değerleri senaryoyu oku

Bash borulu alır standart girdiden veri işlemek için almak için çalışıyorum, ama ne demek istediğimi hiç şans, aşağıdaki iş yok

echo "hello world" | test=($(< /dev/stdin)); echo test=$test
test=


echo "hello world" | read test; echo test=$test
test=


echo "hello world" | test=`cat`; echo test=$test
test=

çıkış test=hello world olmak istediğim yer. Koyarak denedim not", " ya işe yaramazsa "$test" tırnak.

CEVAP
21 Temmuz 2011, PERŞEMBE


Kullanın

IFS= read var << EOF
$(foo)
EOF

Sanaolabilirbu gibi: bir borudan kabul ettirmek için read hile

echo "hello world" | { read test; echo test=$test; }

hatta böyle bir fonksiyon yazın

read_from_pipe() { read "$@" <&0; }

Ama bir anlamı yok no - değişken atamaları son değil! Bir boru hattı çevre referans değer tarafından değil, kalıtsal bir kabuk spawn olabilir. Bu read bir borudan giriş ile rahatsız etmiyor yüzden tanımsız.

BİLGİNİZE, http://www.etalabs.net/sh_tricks.html işe yaramayan öğeleri şık bir koleksiyon bourne kabuğu tuhaflıklar ve uyumsuzluklar mücadele için gerekli, sh.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Flash CS6 Video Tutorials for Beginners (Actionscript 3 Gaming)

    Flash CS6 Vi

    14 EYLÜL 2012
  • Machinima

    Machinima

    17 Ocak 2006
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009