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

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • TheRightTire

    TheRightTire

    14 EKİM 2009
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006