aboutsummaryrefslogtreecommitdiff
path: root/shell (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Add in a shell tagline (per lash/hush behavior) to make it easierandersen2001-07-072-31/+158
| | | | | | | | | to know which shell is in use. Add in 'help' to list available builtins, and fixup msh so it can do STANDALONE_SHELL. -Erik git-svn-id: svn://busybox.net/trunk/busybox@3025 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This is vodz' latest ash update.andersen2001-07-061-571/+131
| | | | git-svn-id: svn://busybox.net/trunk/busybox@3013 69ca8d6d-28ef-0310-b511-8ec308f3f277
* A bit of testing today showed that ASH_BBAPPS_AS_BUILTINS wasandersen2001-07-051-6/+2
| | | | | | | | | | totally breaking the shell. Simple thinge like 'FOO=100' caused it to segfault. It turns out that disabling "bltincmd" is a very bad idea. -Erik git-svn-id: svn://busybox.net/trunk/busybox@3001 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Some updates to ash from vodz. Makes ash smaller. I made a fewandersen2001-07-021-2671/+2788
| | | | | | | | changes, esp describing all the current ash configuration options. Now ash adds 66k in the default configuration. git-svn-id: svn://busybox.net/trunk/busybox@2968 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Patch from vodz to fix freeing a static in cmdedit.andersen2001-07-021-1/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2967 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This is a busybox port of the Minix shell. It is reasonably capable,andersen2001-06-291-0/+4799
| | | | | | | | | | | | | handles all the basic stuff (for, case/esac, while, if/then/else), and is very small (adds just 38k on x86). It is not as rigorously correct about Bourne semantics as bash, but for most things it is quite workable. There is still some work to be done to further shrink it (it has its own globbing functions instead of using the libc ones, for example), but it is quite usable as is. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2949 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Remove vodz from credits, per his requestandersen2001-06-281-4/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2942 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Scrub up the licensing blockandersen2001-06-281-832/+65
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2941 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This a an ash applet I put together. It is similar to the one putandersen2001-06-281-0/+14242
| | | | | | | | | | together by vodz, but uses newer sources, has the removed features commented out instead of simply deleted (so they could be re-enabled) and the builtins all work. This adds 72k. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2940 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Remove unneeded stuff.andersen2001-06-281-6/+0
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2939 69ca8d6d-28ef-0310-b511-8ec308f3f277
* More thrashing about trying to make hush behave itself wrt jobandersen2001-06-281-16/+18
| | | | | | | control... git-svn-id: svn://busybox.net/trunk/busybox@2934 69ca8d6d-28ef-0310-b511-8ec308f3f277
* don't whine if all we need to do is remove a bg jobandersen2001-06-271-1/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2919 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Re-enable globbing (I'd accidentaly removed it) and finish off the lastandersen2001-06-271-10/+224
| | | | | | | | of the job control polishing. Works fine now. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2916 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Explicitly call setsid()andersen2001-06-261-0/+1
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2915 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Don't choke if /etc/profile is not availableandersen2001-06-261-8/+7
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2913 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Vladimir's last_patch_15bug12001-06-262-42/+52
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2905 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix the code for establishing a controlling terminal.andersen2001-06-251-28/+42
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2901 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This should finish off the job control issues with lash. Make certainandersen2001-06-251-15/+46
| | | | | | | | we have a controlling terminal... -Erik git-svn-id: svn://busybox.net/trunk/busybox@2896 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Some more cleanups. Of special importance, never free a pipeandersen2001-06-221-27/+52
| | | | | | | | | that still has running jobs. Instead, we ignore it and expect it to be cleaned by the background job stuff. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2886 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Some cleanups for hush. Saves about 350bytes.andersen2001-06-221-98/+67
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2885 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This commit guts lash, restoring it to what it was originally intended to do,andersen2001-06-211-582/+32
| | | | | | | | | just be a simple command line interpreter with basic pipe, redirect, and job control. For all the more fancy things, people should use hush or ash. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2871 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Another hush update from Larry:andersen2001-06-071-14/+16
| | | | | | | | | | Fixes the interaction between if/then/else/fi syntax and variables. I planned to do it right from the beginning, but my implementation was buggy. Also adds the relevant test cases. Also adds some old Matt Kraai variable test cases that got left out somehow. git-svn-id: svn://busybox.net/trunk/busybox@2804 69ca8d6d-28ef-0310-b511-8ec308f3f277
* A patch from Larry to fix pathological things like '>""'andersen2001-06-061-5/+13
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2796 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Don't close file descriptors when we are duplicating them.kraai2001-06-051-1/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2793 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Cope gracefully when people type something, then hit ^C.andersen2001-05-311-1/+4
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2768 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Patch from Vladimir to fix up autocompletion on a files/dirs with spaces inandersen2001-05-311-13/+4
| | | | | | | | them in the presence of a quoting. Also revert my signal handling patch, which seems to not solve the problem I thought it solved. git-svn-id: svn://busybox.net/trunk/busybox@2767 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Plug another memory leakandersen2001-05-241-0/+1
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2720 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Plug another memory leak in hush. This one showed up when backtickedandersen2001-05-231-0/+1
| | | | | | | | commands were run. This one was sure a bugger to find. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2717 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix a massive memory leak in the run_list_test() function.andersen2001-05-231-33/+11
| | | | | | | | | Rename run_list_test() as free_pipe_list(). Rename run_pipe_test() as free_pipe(). -Erik git-svn-id: svn://busybox.net/trunk/busybox@2716 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Patch from larry to fix some grammar errors.andersen2001-05-231-2/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2715 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Commit a patch by Larry Doolittle which fixes recursive calls to file_peek,kraai2001-05-231-7/+8
| | | | | | | and improves some debugging messages. git-svn-id: svn://busybox.net/trunk/busybox@2714 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Excellent. This patch from Larry fixes the behavior of hushandersen2001-05-221-1/+3
| | | | | | | when builtins are included in pipes. git-svn-id: svn://busybox.net/trunk/busybox@2710 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix this case. No, really this time.andersen2001-05-221-46/+61
| | | | | | | | | | | | unset FOO export FOO=bar FOO=baz echo "global env: " `env | grep ^FOO` echo "local env: " `set | grep ^FOO` -Erik git-svn-id: svn://busybox.net/trunk/busybox@2709 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix a race. Sometimes by the time we got to checkjobs(), theandersen2001-05-221-12/+27
| | | | | | | | pipe struct had already been freed. Return immediately if the pipe is NULL. git-svn-id: svn://busybox.net/trunk/busybox@2708 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Oops. Remove some debug noise I left in.andersen2001-05-221-5/+1
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2707 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Updates from both Vladimir and Larryandersen2001-05-221-64/+89
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2706 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Patch from Lars Kellogg-Stedman <lars@larsshack.org> to fix bugandersen2001-05-213-13/+13
| | | | | | | #1130 (i.e. When you turn on features it should always ADD features) git-svn-id: svn://busybox.net/trunk/busybox@2690 69ca8d6d-28ef-0310-b511-8ec308f3f277
* The latest patch from Larryandersen2001-05-211-31/+61
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2682 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This is a patch from Vladimir:andersen2001-05-191-198/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > I rewrite *local_variable* function in hush.c with: > 1) remove many memory leaks > 2) add support read_only protect (require write builtin function for set this, > I write this special for variable HUSH_VERION=0.01) > 3) commad read set only local variable now > 4) remove many error messages if "set unset export" not defined variable > (bash syntax not put and set error code). Hmm, if I set result to -1, you hush > called waitpid and returned with error "no waitpid" ( i not found place this > error). > 5) destroy error in new version check xgetcwd()==NULL and set "(unknow)" - > this have error: crashe in next call `pwd`, but xgetcwd(not null) called > free(arg). > 6) next add integraion with libbb Valdimir's patch missed two cases of local variable handling FOO=bar export FOO=baz unset FOO and export FOO=bar FOO=baz which were working before, so I fixed those two cases. git-svn-id: svn://busybox.net/trunk/busybox@2677 69ca8d6d-28ef-0310-b511-8ec308f3f277
* It turns out job control in both hush and lash was broken by theandersen2001-05-172-10/+26
| | | | | | | | | signal handling in cmdedit.c. Disabling it makes the shells behave themselves again. hush isn't quite there, but is getting close... -Erik git-svn-id: svn://busybox.net/trunk/busybox@2663 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.ckraai2001-05-161-2/+2
| | | | | | | by Larry Doolittle. git-svn-id: svn://busybox.net/trunk/busybox@2653 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Move init of a bunch of globals into main so we are at leastandersen2001-05-161-7/+16
| | | | | | | | a bit more reentrant. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2652 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix the behavior of local shell variables to match that of bash and ash.andersen2001-05-151-25/+109
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2651 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Oops. I left in some debug noise.andersen2001-05-151-1/+0
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2646 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Write set_local_var() and fixup lookup_param() so you can now useandersen2001-05-151-4/+101
| | | | | | | | shell local variables. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2645 69ca8d6d-28ef-0310-b511-8ec308f3f277
* This patch covers one big part of variable handling.andersen2001-05-151-5/+49
| | | | | | | | | | | | | | | | | | $ a=b foo should be handled correctly. $ a=b is parsed OK, but the actual variable setting is not yet written. Except for some weird exceptions related to quoting rules, this code passes (matches ash behavior) all the tests I threw at it. If someone now writes set_local_var(), and updates lookup_param() to match, we can claim success! - Larry git-svn-id: svn://busybox.net/trunk/busybox@2644 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix up some silly warningsandersen2001-05-112-6/+6
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2614 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Fix a segfault in lash, hush, and cmdedit. Each of these usedandersen2001-05-113-2/+17
| | | | | | | | | xgetcwd, but did not check the return for a NULL, and then continued to call strlen on the NULL when the cwd had been removed from under it. -Erik git-svn-id: svn://busybox.net/trunk/busybox@2613 69ca8d6d-28ef-0310-b511-8ec308f3f277
* Use xgetcwdandersen2001-05-111-2/+2
| | | | git-svn-id: svn://busybox.net/trunk/busybox@2612 69ca8d6d-28ef-0310-b511-8ec308f3f277
* A few more structural updates for job control.andersen2001-05-081-4/+13
| | | | | | | -Erik git-svn-id: svn://busybox.net/trunk/busybox@2573 69ca8d6d-28ef-0310-b511-8ec308f3f277