SORU
20 EKİM 2008, PAZARTESİ


tırnaklar düzenli bash?

Aşağıdaki kodu

number=1
if [[ $number =~ [0-9] ]]
then
  echo matched
fi

çalışır. Eğer düzenli tırnak kullanın, ancak durur:

number=1
if [[ $number =~ "[0-9]" ]]
then
  echo matched
fi

"\[0-9\]" da denedim. Neyi kaçırıyorum?

Tuhaftır, bash advanced scripting guide Bu birlikte hareket etmeliler.

Bash sürümü 3.2.39.

CEVAP
20 EKİM 2008, PAZARTESİ


between 3.1 and 3.2 değiştirildi. Gelişmiş rehber bir güncelleme gerekiyor sanırım.

Bu yeni kısa ve öz bir açıklama. özellikler bash-3.2 beri eklendi bash-3.1 bırakın. Her zamanki gibi el ile sayfa (doc/bash.1) yer almaktadır tam açıklamalar için bak.

  1. Bash yeni Özellikler

kelepir

f. Bu dize argümanı alıntı [[ komut artık güçleri operatörü ~ = dize eşleştirme, diğeri desen eşleştirme operatörleri. gibi

Ne yazık ki bu fikir değişkenleri desenleri depolamak ve yukarıdaki diyagram doğrudan yerine bunları kullanmak zorunda kaldığın sürece varolan alıntı kullanarak komut kırarım. Aşağıda örnek.

$ bash --version
GNU bash, version 3.2.39(1)-release (i486-pc-linux-gnu)
Copyright (C) 2007 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
$ if [[ $number =~ [0-9] ]]; then echo match; fi
match
$ re="[0-9]"
$ if [[ $number =~ $re ]]; then echo MATCH; fi
MATCH

$ bash --version
GNU bash, version 3.00.0(1)-release (i586-suse-linux)
Copyright (C) 2004 Free Software Foundation, Inc.
$ number=2
$ if [[ $number =~ "[0-9]" ]]; then echo match; fi
match
$ if [[ "$number" =~ [0-9] ]]; then echo match; fi
match

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009