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

  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010