Ok, here is a smaller 3 line test case. I have attempted to handle the parenthesis as you instructed. Under bash 3.0.17 BASH_REMATCH gets the 4 pieces. Under bash 3.2 I only get BASH_REMATCH=() True, it no longer crashes. But it doesn't work either...
#!/bin/bash [[ jbig2dec-0.9-i586-001.tgz =~ \([^-]+\)-\([^-]+\)-\([^-]+\)-0*\([1-9][0-9]*\)\.tgz ]] set | grep BASH_REMATCH On Thu, 12 Oct 2006, Andreas Schwab wrote:
John Gatewood Ham <[EMAIL PROTECTED]> writes:Thank you for your reply. I removed the quotes and the script crashes. There must be more required to convert my code and I hope someone will help. It is only 1 line, and once I know the new rules I can convert everything else on my own. I get this when just removing the quotes on the right hand side: testcase running under 3.2.0(2)-release testcase: line 6: unexpected argument `(' to conditional binary operator testcase: line 6: syntax error near `([' testcase: line 6: `[[ "${OLDCANDIDATE}" =~ ([^-]+)-([^-]+)-([^-]+)-0*([1-9][0-9]*)\.tgz ]]'Parens are special inside [[ ]], you need to quote them. Andreas.
_______________________________________________ Bug-bash mailing list [email protected] http://lists.gnu.org/mailman/listinfo/bug-bash
