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_SH_EXTRA_QUIET
141 bool "Hide message on interactive shell startup"
143 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
145 Remove the busybox introduction when starting a shell.
147 config CONFIG_FEATURE_SH_STANDALONE_SHELL
148 bool "Standalone shell"
150 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
152 Have all the busybox commands built into the shell, creating
155 config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
156 bool "Standalone shell -- applets always win"
158 depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
160 Use a command builtin to the shell over one with the same name,
161 that may be on the system.
163 config CONFIG_FEATURE_COMMAND_EDITING
164 bool "command line editing"
166 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
168 Enable command editing in shell.
170 config CONFIG_FEATURE_COMMAND_HISTORY
173 depends on CONFIG_FEATURE_COMMAND_EDITING
175 Specify command history size in shell.
177 config CONFIG_FEATURE_COMMAND_SAVEHISTORY
178 bool "history saving"
180 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
182 Enable history saving in ash shell.
184 config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
185 bool "tab completion"
187 depends on CONFIG_FEATURE_COMMAND_EDITING
189 Enable tab completion in shell.
191 config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
192 bool "username completion"
194 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
196 Enable username completion in shell.
198 config CONFIG_FEATURE_SH_FANCY_PROMPT
199 bool "Fancy shell prompts"
201 depends on CONFIG_FEATURE_COMMAND_EDITING
203 Setting this option allows for prompts to use things like \w and
204 \$ and also using escape codes.