SORU
21 Mart 2009, CUMARTESİ


[[ ]] Üzerinden tercih edilmelidir [ ] bash komut?

Meslektaş bir son zamanlarda bir kod Gözden iddia [[ ]] inşa tercih olmuş olmaları [ ] gibi oluşturur

if [ "`id -nu`" = "$someuser" ] ; then 
     echo "I love you madly, $someuser"
fi

Bir gerekçe gösteremedi. Kimse yok mu?

CEVAP
21 Mart 2009, CUMARTESİ


[[ daha az sürprizler vardır ve genellikle daha güvenli kullanmak için. Ama taşınabilir değil - Posıx ne yapar, ve bazı deniz kabuğu destek (bash yanında, duydum ksh de destekler) belirtmek yok. Örneğin, bunu yapabilirsiniz

[[ -e $b ]]

bir dosyanın var olup olmadığını test edin. Ama [ ile tartışmayı böler ve "a*" gibi şeyler [[ kelimenin tam anlamıyla nereye götürecek () genişletir çünkü $b, alıntı var. Bu da ne ile nasıl [ olabilir harici bir program ve aldığı argüman, sadece normal gibi diğer bütün programı (olsa da yerleşik, ama yine de değil bu özel işlem).

[[ diğer bazı güzel özellikleri, düzenli ifade C gibi dillerde bilindiği gibi operatörler ile birlikte =~ ile eşleşen gibi. Burada bu konuda iyi bir sayfası vardır: What is the difference between test, [ and [[ ? Bash Tests

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ArkticPlanet

    ArkticPlanet

    9 ŞUBAT 2010
  • Roger Huffman

    Roger Huffma

    4 ŞUBAT 2007
  • Stevie

    Stevie

    2 Mayıs 2010