diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-03 14:43:56 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-06-03 14:43:56 +0200 |
commit | 08218013499f76e61691d5ffa697465f800bd3a7 (patch) | |
tree | 23e34724adfb1aad3a6954c545fa3faef0ee9c71 | |
parent | 6f22624a913e29c6a7088718bd3fd6052f917cc1 (diff) | |
download | busybox-w32-08218013499f76e61691d5ffa697465f800bd3a7.tar.gz busybox-w32-08218013499f76e61691d5ffa697465f800bd3a7.tar.bz2 busybox-w32-08218013499f76e61691d5ffa697465f800bd3a7.zip |
hush: document a TODO in export builtin
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r-- | shell/hush.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/shell/hush.c b/shell/hush.c index de04c015a..a6db16c35 100644 --- a/shell/hush.c +++ b/shell/hush.c | |||
@@ -44,14 +44,28 @@ | |||
44 | * | 44 | * |
45 | * Bash stuff (maybe optionally enable?): | 45 | * Bash stuff (maybe optionally enable?): |
46 | * &> and >& redirection of stdout+stderr | 46 | * &> and >& redirection of stdout+stderr |
47 | * Brace expansion | 47 | * Brace Expansion |
48 | * reserved words: [[ ]] function select | 48 | * reserved words: [[ ]] function select |
49 | * substrings ${var:1:5} | 49 | * substrings ${var:1:5} |
50 | * | 50 | * |
51 | * TODOs: | 51 | * TODOs: |
52 | * grep for "TODO" and fix (some of them are easy) | 52 | * grep for "TODO" and fix (some of them are easy) |
53 | * builtins: ulimit | 53 | * builtins: ulimit, local |
54 | * follow IFS rules more precisely, including update semantics | 54 | * follow IFS rules more precisely, including update semantics |
55 | * export builtin should be special, its arguments are assignments | ||
56 | * and therefore expansion of them should be "one-word" expansion: | ||
57 | * $ export i=`echo 'a b'` # export has one arg: "i=a b" | ||
58 | * compare with: | ||
59 | * $ ls i=`echo 'a b'` # ls has two args: "i=a" and "b" | ||
60 | * ls: cannot access i=a: No such file or directory | ||
61 | * ls: cannot access b: No such file or directory | ||
62 | * Note1: same applies to local builtin when we'll have it. | ||
63 | * Note2: bash 3.2.33(1) does this only if export word itself | ||
64 | * is not quoted: | ||
65 | * $ export i=`echo 'aaa bbb'`; echo "$i" | ||
66 | * aaa bbb | ||
67 | * $ "export" i=`echo 'aaa bbb'`; echo "$i" | ||
68 | * aaa | ||
55 | * | 69 | * |
56 | * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. | 70 | * Licensed under the GPL v2 or later, see the file LICENSE in this tarball. |
57 | */ | 71 | */ |