diff options
Diffstat (limited to 'shell/ash.c')
-rw-r--r-- | shell/ash.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c index 45c747dbc..713219b6e 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -197,7 +197,20 @@ | |||
197 | #define IF_BASH_PATTERN_SUBST IF_ASH_BASH_COMPAT | 197 | #define IF_BASH_PATTERN_SUBST IF_ASH_BASH_COMPAT |
198 | #define BASH_SUBSTR ENABLE_ASH_BASH_COMPAT | 198 | #define BASH_SUBSTR ENABLE_ASH_BASH_COMPAT |
199 | #define IF_BASH_SUBSTR IF_ASH_BASH_COMPAT | 199 | #define IF_BASH_SUBSTR IF_ASH_BASH_COMPAT |
200 | /* [[ EXPR ]] */ | 200 | /* BASH_TEST2: [[ EXPR ]] |
201 | * Status of [[ support: | ||
202 | * We replace && and || with -a and -o | ||
203 | * TODO: | ||
204 | * singleword+noglob expansion: | ||
205 | * v='a b'; [[ $v = 'a b' ]]; echo 0:$? | ||
206 | * [[ /bin/* ]]; echo 0:$? | ||
207 | * -a/-o are not AND/OR ops! (they are just strings) | ||
208 | * quoting needs to be considered (-f is an operator, "-f" and ""-f are not; etc) | ||
209 | * = is glob match operator, not equality operator: STR = GLOB | ||
210 | * (in GLOB, quoting is significant on char-by-char basis: a*cd"*") | ||
211 | * == same as = | ||
212 | * add =~ regex match operator: STR =~ REGEX | ||
213 | */ | ||
201 | #define BASH_TEST2 (ENABLE_ASH_BASH_COMPAT * ENABLE_ASH_TEST) | 214 | #define BASH_TEST2 (ENABLE_ASH_BASH_COMPAT * ENABLE_ASH_TEST) |
202 | #define BASH_SOURCE ENABLE_ASH_BASH_COMPAT | 215 | #define BASH_SOURCE ENABLE_ASH_BASH_COMPAT |
203 | #define BASH_PIPEFAIL ENABLE_ASH_BASH_COMPAT | 216 | #define BASH_PIPEFAIL ENABLE_ASH_BASH_COMPAT |