Egyik gép:

$ set -x
$ bash --version
+ bash --version
GNU bash, version 3.2.25(1)-release (i686-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ [[ foo =~ bar\. ]]
+ [[ foo =~ bar. ]]
$ [[ foo =~ 'bar\.' ]]
+ [[ foo =~ bar\. ]]
$

Másik gép:

$ set -x
$ bash --version
+ bash --version
GNU bash, version 4.1.5(1)-release (i486-pc-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
$ [[ foo =~ bar\. ]]
+ [[ foo =~ bar\. ]]
$ [[ foo =~ 'bar\.' ]]
+ [[ foo =~ bar\\\. ]]
$

Na, most ebből mókás hibák fakadnak, mikor az egyik vagy a másik gépen
fut egy script. (Egy kollégám már faragott egy workaroundot, nem ez a
kérdés.)
Szemre nincs lényeges különbség az environmentben. Lehetséges-e, hogy
ilyen durván megváltozott az =~ operátor jobb oldalára vonatkozó
szabályozás, vagy mégis valami beállítható paraméter különbözik a két
shellben? Vagy az egyikben bug van?

Egy füst alatt kérnék visszajelzéseket! Kinél mit csinálnak a fenti
parancsok?

Pl. ez még rosszabb:

$ bash --version
+ bash --version
GNU bash, version 2.05b.0(1)-release (i386-redhat-linux-gnu)
Copyright (C) 2002 Free Software Foundation, Inc.
$ [[ foo =~ bar\. ]]
bash: conditional binary operator expected
bash: syntax error near `=~'
$ [[ foo =~ 'bar\.' ]]
bash: conditional binary operator expected
bash: syntax error near `=~'
$

De ez mondjuk deklaráltan nem ismeri az ~= operátort.

kissg
-- 
Mz mn fszm mhrmnc cntm,
    mk nm mhsz bvhmt.
_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz