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
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.
- 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
Ve bir süreç içinde bir satır bash kul...
Ne kadar düzenli bir dosya bash yoksa ...
Nasıl bir bash betiği içinde düzenli i...
Nasıl bash komut düzenli ifadeler kull...
balık bash komut bir dosyanın tam yolu...