Community
cancel
Showing results for 
Search instead for 
Did you mean: 

Shell

Shell



The sash shell is very limited, though it has small footprint. You can add other shells when you need more powerful scripting or redirection. But don't try bash, it is broken.

We shall still keep sash for startup shell for the smaller memory footprint. And use enhanced shell only when needed.

MSH

msh is depreciated by the makers of busybox, and hush is recommended instead


    The minix shell (adds just 30k) is quite complete and handles things

    like for/do/done, case/esac and all the things you expect a Bourne

    shell to do. It is not always pedantically correct about Bourne

    shell grammar (try running the shell testscript "tests/sh.testcases"

    on it and compare vs bash) but for most things it works quite well.

    It also uses only vfork, so it can be used on uClinux systems.


Msh is a more powerful shell (note, this is not the one in user/msh). It is much bigger than sash, but not as big as bash. You can enable it from busybox in uClinux-dist menu,

[*] BusyBox


Shells --->  

 Choose your default shell (none) --->  # choose none here

[*] msh



If you want command line editing and history,


Busybox Settings ---> Busybox Library Tuning --->

 [*] Command line editing



Since the utilities build-in sash will not be available (eg ls,cat,cp...), you will need to select all the utilities which you might use together with msh into busybox. But don't add too much, as they take up more memory space ...you are warned.


Then make and boot. Do as normal until you need scripting or redirection, run "msh" from sash prompt. 

Or, you can run "msh path_to_your_script".


/> msh



BusyBox v1.5.1 (2007-12-06 08:46:57 CST) Built-in shell (msh)

Enter 'help' for a list of built-in commands.


#

HUSH

hush is a very small shell (just 22k) and it has fairly complete Bourne shell grammar. The new verseions can be compiled to be used with an MMU-less architecture (using vfork() ). It even handles all the normal control options such as if/then/elif/else/fi, case/esac, for/in/do/done, while loops, etc. It does handle redirection of stdout+stderr.

It has builtin commands echo and and test (aka "[" ) and thus is a lot faster wirth shell script and haserl scripts than msh, which needed echo and test as external links to busybox that would be result in loading the busybox executable on each occurrance of same .


Hush can be used as the default shell or it can be installed just to run script files (that start with a #!bin/hush line).


[*] <a style="cursor: default; color: #0000ff;" BusyBox


Shells --->  

 Choose your default shell (none) --->  # choose none here

[*] hush

Version history
Revision #:
1 of 1
Last update:
‎06-26-2019 09:24 PM
Updated by:
 
Contributors