Bug 20349
Summary: | Not (!) not working ? | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Need Real Name <adam> |
Component: | bash | Assignee: | Bernhard Rosenkraenzer <bero> |
Status: | CLOSED NOTABUG | QA Contact: | David Lawrence <dkl> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.0 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | i386 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2000-11-05 02:14:53 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Need Real Name
2000-11-05 02:14:51 UTC
It's not a bug - it's a POSIX compliant change in bash 2.x. ( ) gets a separate process space. The right thing to do is keeping everything in the same space: if /bin/true; then echo ok; fi ok if ! /bin/true; then echo ok; fi if /bin/false; then echo ok; fi if ! /bin/false; then echo ok; fi ok or to use brackets (if [ ! /bin/true ]; then echo ok; fi). |