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
13 and full featured one.
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 derivative of the Debian 'dash'
43 shell (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 a very small shell (just 18k) and it has fairly complete
105 Bourne shell grammar. It even handles all the normal flow control
106 options such as if/then/elif/else/fi, for/in/do/done, while loops,
109 It does not handle case/esac, select, function, here documents ( <<
110 word ), arithmetic expansion, aliases, brace expansion, tilde
111 expansion, &> and >& redirection of stdout+stderr, etc.
118 lash is the very smallest shell (adds just 10k) and it is quite
119 usable as a command prompt, but it is not suitable for any but the
120 most trivial scripting (such as an initrd that calls insmod a few
121 times) since it does not understand any Bourne shell grammar. It
122 does handle pipes, redirects, and job control though. Adding in
123 command editing makes it a very nice lightweight command prompt.
130 The minix shell (adds just 30k) is quite complete and handles things
131 like for/do/done, case/esac and all the things you expect a Bourne
132 shell to do. It is not always pedantically correct about Bourne
133 shell grammar (try running the shell testscript "tests/sh.testcases"
134 on it and compare vs bash) but for most things it works quite well.
135 It also uses only vfork, so it can be used on uClinux systems.
137 comment "Bourne Shell Options"
138 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
140 config CONFIG_FEATURE_COMMAND_EDITING
141 bool "command line editing"
143 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
145 Enable command editing in shell.
147 config CONFIG_FEATURE_COMMAND_SAVEHISTORY
148 bool " history saving"
150 depends on CONFIG_ASH
152 Enable history saving in ash shell.
154 config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
155 bool "tab completion"
157 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
159 Enable tab completion in shell.
161 config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
162 bool "username completion"
164 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
166 Enable username completion in shell.
168 config CONFIG_FEATURE_COMMAND_HISTORY
171 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
173 Specify command history size in shell.
175 config CONFIG_FEATURE_SH_STANDALONE_SHELL
176 bool "Standalone shell"
178 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
180 Have all the busybox commands built into the shell, creating
183 config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
184 bool "Standalone shell -- applets always win"
186 depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
188 Use a command builtin to the shell over one with the same name,
189 that may be on the system.
191 config CONFIG_FEATURE_SH_FANCY_PROMPT
192 bool "Fancy shell prompts"
194 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
196 Setting this option allows for prompts to use things like \w and
197 \$ and also using escape codes.
199 config CONFIG_FEATURE_SH_EXTRA_QUIET
200 bool "Hide message on interactive shell startup"
202 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
204 Remove the busybox introduction when starting a shell.