2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Another Bourne-like Shell"
9 prompt "Choose your default shell"
10 default CONFIG_FEATURE_SH_IS_NONE
12 Choose a shell. The ash shell is the most bash compatible
15 config CONFIG_FEATURE_SH_IS_ASH
19 config CONFIG_FEATURE_SH_IS_HUSH
23 config CONFIG_FEATURE_SH_IS_LASH
27 config CONFIG_FEATURE_SH_IS_MSH
31 config CONFIG_FEATURE_SH_IS_NONE
40 Tha 'ash' shell adds about 60k in the default configuration and is
41 the most complete and most pedantically correct shell included with
42 busybox. This shell is actually a derivitive the Debian 'dash' shell
43 (by Herbert Xu), which was created by porting the 'ash' shell
44 (written by Kenneth Almquist) from NetBSD.
46 comment "Ash Shell Options"
49 config CONFIG_ASH_JOB_CONTROL
50 bool " Enable Job control"
54 Enable job control in the ash shell.
56 config CONFIG_ASH_ALIAS
57 bool " Enable alias support"
61 Enable alias support in the ash shell.
63 config CONFIG_ASH_MATH_SUPPORT
64 bool " Enable Posix math support"
68 Enable math support in the ash shell.
70 config CONFIG_ASH_GETOPTS
71 bool " Enable getopt builtin to parse positional parameters"
75 Enable builtin getopt in the ash shell.
77 config CONFIG_ASH_CMDCMD
78 bool " Enable cmdcmd to override shell builtins"
82 Enable support for the ash 'command' builtin, which allows
83 you to run the specified command with the specified arguments,
84 even when there is an ash builtin command with the same name.
86 config CONFIG_ASH_MAIL
87 bool " Check for new mail on interactive shells"
91 Enable "check for new mail" in the ash shell.
93 config CONFIG_ASH_OPTIMIZE_FOR_SIZE
94 bool " Optimize for size instead of speed"
98 Compile ash for reduced size at price of speed.
104 hush is very small shell (just 18k) and it has fairly complete Bourne
105 shell grammer. It even handles all the normal flow control options
106 such as if/then/elif/else/fi, for/in/do/done, while loops, etc.
108 It does not handle case/esac, select, function, here documents ( <<
109 word ), arithmetic expansion, aliases, brace expansion, tilde
110 expansion, &> and >& redirection of stdout+stderr, etc.
117 lash is the very smallest shell (adds just 10k) and it is quite
118 usable as a command prompt, but it is not suitable for any but the
119 most trivial scripting (such as an initrd that calls insmod a few
120 times) since it does not understand any Bourne shell grammer. It
121 does handle pipes, redirects, and job control though. Adding in
122 command editing makes it a very nice lightweight command prompt.
129 The minix shell (adds just 30k) is quite complete and handles things
130 like for/do/done, case/esac and all the things you expect a Bourne
131 shell to do. It is not always pedantically correct about Bourne
132 shell grammer (try running the shell testscript "tests/sh.testcases"
133 on it and compare vs bash) but for most things it works quite well.
134 It also uses only vfork, so it can be used on uClinux systems.
136 comment "Bourne Shell Options"
137 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
139 config CONFIG_FEATURE_COMMAND_EDITING
140 bool "command line editing"
142 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
144 Enable command editing in shell.
146 config CONFIG_FEATURE_COMMAND_SAVEHISTORY
147 bool " history saving"
149 depends on CONFIG_ASH
151 Enable history saving in ash shell.
153 config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
154 bool "tab completion"
156 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
158 Enable tab completion in shell.
160 config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
161 bool "username completion"
163 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
165 Enable username completion in shell.
167 config CONFIG_FEATURE_COMMAND_HISTORY
170 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
172 Specify command history size in shell.
174 config CONFIG_FEATURE_SH_STANDALONE_SHELL
175 bool "Standalone shell"
177 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
179 Have all the busybox commands built into the shell, creating
182 config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
183 bool "Standalone shell -- applets always win"
185 depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
187 Use a command builtin to the shell over one with the same name,
188 that may be on the system.
190 config CONFIG_FEATURE_SH_FANCY_PROMPT
191 bool "Fancy shell prompts"
193 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
195 Setting this option allows for prompts to use things like \w and
196 \$ and also using escape codes.
198 config CONFIG_FEATURE_SH_EXTRA_QUIET
199 bool "Hide message on interactive shell startup"
201 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
203 Remove the busybox introduction when starting a shell.