2013-10-19 21 views
14

Bash içinde, hem () hem de $() bir alt kabuk oluşturur.

Aralarındaki fark nedir? Tipik kullanımları nedir?

cevap

15

(), yalnızca parantez içinde komutları çalıştıran bir bileşik komut oluşturur. $() aynıdır, ancak aynı zamanda çıkışı değiştirir. Dokümanlar

:

  1. (list)
    list bir altkabuk ortamında yürütülür ... kabuk ortamını etkileyen değişken atamaları ve yerleşik komutları komut tamamlanıncaya sonra geçerli olmaya devam yok . Geri dönüş durumulist çıkış durumudur.

  2. Komut değişikliği
    Komut ikamesi bir komutun çıktısını komut adını değiştirmek için izin verir. iki biçimi vardır:

    $(command) 
    

    veya

    `command` 
    

    Bash command yürütme ve komut, silinmiş sonda yeni satır ile standart çıkış komutu ikame değiştirerek genişleme yapar

    .

+3

Bir "aha" momenti! "Komut yerine koyma", bir komutun çıktısını bir değişkene nasıl atayabileceğimizdir. RESULT = $ (command) 'ile, $ (command)' komutunun çıkışı komutu değiştirir ve daha sonra “RESULT” olarak atanır. –