Hardy should include Bash 3.1.x version due to regex syntax change
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
bash (Ubuntu) |
Fix Released
|
High
|
Bash | ||
Bug Description
The syntax of regexes in Bash 3.2 was changed so that single quotes no longer surround regexes. e.g, a regex of the form
if [[ "foo.tex" =~ '^(.*)\.tex$' ]]
becomes
if [[ "foo.tex" =~ ^(.*)\.tex$ ]]
The version of Bash in Ubuntu Feisty was a 3.2.x version. The problem is that this can break many scripts on existing systems.
It is not merely enough to warn users about this, as with Bug #109931. This can be a major blocker for system administrators in upgrading, if they run servers with many shell scripts. (Many sysadmins would prefer not to touch working code on critical systems, lest they break something; or they would rather take the time to make sure updated scripts work properly.)
There should be an option to use an older version of Bash 3.1.x from Edgy, so that users can downgrade Bash while using other features of Feisty.
A question remains as to what scripts (if any) in Feisty were already changed to account for the change in regex syntax, and whether they will work in the older bash.
Related branches
Changed in bash: | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
importance: | Medium → Undecided |
status: | Triaged → Confirmed |
Another problem caused by this bug is bug #78017. Confirming.