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

  • makemebad35

    makemebad35

    17 NİSAN 2006
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011
  • TotalxLuna

    TotalxLuna

    27 Kasım 2011