SORU
1 HAZİRAN 2012, Cuma


Bash bir komut önce değişken bir boru ikinci komut için çalışmıyor ayarı bir ortam

Belirli bir kabuk içinde, normalde bir değişken ya da değişken seti ve bir komut çalıştırmak istiyorum. Son zamanlarda hakkında bir komut bir değişken tanımı ön yerleştirmeyi kavramını öğrendim:

FOO=bar somecommand someargs

Bu... işe yarıyor. İşe yaramıyor olduğunda değişen bir LC_* değişken (gibi etkiler komutu, ama bu argümanlar, örneğin, '[a-z]' char aralıkları) veya boru çıkış için başka bir komut nitekim:

FOO=bar somecommand someargs | somecommand2  # somecommand2 is unaware of FOO

Ben önüne somecommand2 ile "FOO=bar" da, hangi çalışır ama ekler istenmeyen çoğaltma etmiyor yardımıyla değişkenler vardır yorumlanmış bağlı olarak değişken (örneğin '[a-z]')

Tek bir çizgi üzerinde bunu yapmak için iyi bir yolu nedir? Sipariş üzerine bir şey düşünüyorum:

FOO=bar (somecommand someargs | somecommand2)  # Doesn't actually work

Edit: iyi bir sürü cevap aldım! Amaç bu oyunu bir, tercihen kullanmadan tutmaktır "" verebilirsiniz. Yöntem bash için bir telefon kullanma"," biraz daha kompakt. ihracat ile üst versiyonu olsa iyi oldu Yeniden yönlendirme yerine bir boru kullanma yöntemi de ilginç.

CEVAP
1 HAZİRAN 2012, Cuma


FOO=bar bash -c 'somecommand someargs | somecommand2'

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Eric Magidson

    Eric Magidso

    4 Ocak 2009
  • the one am radio

    the one am r

    6 Mayıs 2006
  • Visual Life

    Visual Life

    3 Temmuz 2006