diff options
Diffstat (limited to 'shell/Config.in')
-rw-r--r-- | shell/Config.in | 295 |
1 files changed, 295 insertions, 0 deletions
diff --git a/shell/Config.in b/shell/Config.in new file mode 100644 index 000000000..9ac233155 --- /dev/null +++ b/shell/Config.in | |||
@@ -0,0 +1,295 @@ | |||
1 | # | ||
2 | # For a description of the syntax of this configuration file, | ||
3 | # see scripts/kbuild/config-language.txt. | ||
4 | # | ||
5 | |||
6 | menu "Shells" | ||
7 | |||
8 | choice | ||
9 | prompt "Choose your default shell" | ||
10 | default FEATURE_SH_IS_NONE | ||
11 | help | ||
12 | Choose a shell. The ash shell is the most bash compatible | ||
13 | and full featured one. | ||
14 | |||
15 | config FEATURE_SH_IS_ASH | ||
16 | select ASH | ||
17 | bool "ash" | ||
18 | |||
19 | config FEATURE_SH_IS_HUSH | ||
20 | select HUSH | ||
21 | bool "hush" | ||
22 | |||
23 | config FEATURE_SH_IS_LASH | ||
24 | select LASH | ||
25 | bool "lash" | ||
26 | |||
27 | config FEATURE_SH_IS_MSH | ||
28 | select MSH | ||
29 | bool "msh" | ||
30 | |||
31 | config FEATURE_SH_IS_NONE | ||
32 | bool "none" | ||
33 | |||
34 | endchoice | ||
35 | |||
36 | config ASH | ||
37 | bool "ash" | ||
38 | default n | ||
39 | select TEST | ||
40 | help | ||
41 | Tha 'ash' shell adds about 60k in the default configuration and is | ||
42 | the most complete and most pedantically correct shell included with | ||
43 | busybox. This shell is actually a derivative of the Debian 'dash' | ||
44 | shell (by Herbert Xu), which was created by porting the 'ash' shell | ||
45 | (written by Kenneth Almquist) from NetBSD. | ||
46 | |||
47 | comment "Ash Shell Options" | ||
48 | depends on ASH | ||
49 | |||
50 | config ASH_JOB_CONTROL | ||
51 | bool "Job control" | ||
52 | default y | ||
53 | depends on ASH | ||
54 | help | ||
55 | Enable job control in the ash shell. | ||
56 | |||
57 | config ASH_READ_NCHARS | ||
58 | bool "'read -n N' and 'read -s' support" | ||
59 | default n | ||
60 | depends on ASH | ||
61 | help | ||
62 | 'read -n N' will return a value after N characters have been read. | ||
63 | 'read -s' will read without echoing the user's input. | ||
64 | |||
65 | config ASH_READ_TIMEOUT | ||
66 | bool "'read -t S' support." | ||
67 | default n | ||
68 | depends on ASH | ||
69 | help | ||
70 | 'read -t S' will return a value after S seconds have passed. | ||
71 | This implementation will allow fractional seconds, expressed | ||
72 | as a decimal fraction, e.g. 'read -t 2.5 foo'. | ||
73 | |||
74 | config ASH_ALIAS | ||
75 | bool "alias support" | ||
76 | default y | ||
77 | depends on ASH | ||
78 | help | ||
79 | Enable alias support in the ash shell. | ||
80 | |||
81 | config ASH_MATH_SUPPORT | ||
82 | bool "Posix math support" | ||
83 | default y | ||
84 | depends on ASH | ||
85 | help | ||
86 | Enable math support in the ash shell. | ||
87 | |||
88 | config ASH_MATH_SUPPORT_64 | ||
89 | bool "Extend Posix math support to 64 bit" | ||
90 | default n | ||
91 | depends on ASH_MATH_SUPPORT | ||
92 | help | ||
93 | Enable 64-bit math support in the ash shell. This will make | ||
94 | the shell slightly larger, but will allow computation with very | ||
95 | large numbers. | ||
96 | |||
97 | config ASH_GETOPTS | ||
98 | bool "Builtin getopt to parse positional parameters" | ||
99 | default n | ||
100 | depends on ASH | ||
101 | help | ||
102 | Enable getopts builtin in the ash shell. | ||
103 | |||
104 | config ASH_BUILTIN_ECHO | ||
105 | bool "Builtin version of 'echo'" | ||
106 | default y | ||
107 | select ECHO | ||
108 | depends on ASH | ||
109 | help | ||
110 | Enable support for echo, built in to ash. | ||
111 | |||
112 | config ASH_BUILTIN_TEST | ||
113 | bool "Builtin version of 'test'" | ||
114 | default y | ||
115 | select TEST | ||
116 | depends on ASH | ||
117 | help | ||
118 | Enable support for test, built in to ash. | ||
119 | |||
120 | config ASH_CMDCMD | ||
121 | bool "'command' command to override shell builtins" | ||
122 | default n | ||
123 | depends on ASH | ||
124 | help | ||
125 | Enable support for the ash 'command' builtin, which allows | ||
126 | you to run the specified command with the specified arguments, | ||
127 | even when there is an ash builtin command with the same name. | ||
128 | |||
129 | config ASH_MAIL | ||
130 | bool "Check for new mail on interactive shells" | ||
131 | default y | ||
132 | depends on ASH | ||
133 | help | ||
134 | Enable "check for new mail" in the ash shell. | ||
135 | |||
136 | config ASH_OPTIMIZE_FOR_SIZE | ||
137 | bool "Optimize for size instead of speed" | ||
138 | default y | ||
139 | depends on ASH | ||
140 | help | ||
141 | Compile ash for reduced size at the price of speed. | ||
142 | |||
143 | config ASH_RANDOM_SUPPORT | ||
144 | bool "Pseudorandom generator and variable $RANDOM" | ||
145 | default n | ||
146 | depends on ASH | ||
147 | help | ||
148 | Enable pseudorandom generator and dynamic variable "$RANDOM". | ||
149 | Each read of "$RANDOM" will generate a new pseudorandom value. | ||
150 | You can reset the generator by using a specified start value. | ||
151 | After "unset RANDOM" then generator will switch off and this | ||
152 | variable will no longer have special treatment. | ||
153 | |||
154 | config ASH_EXPAND_PRMT | ||
155 | bool "Expand prompt string" | ||
156 | default n | ||
157 | depends on ASH | ||
158 | help | ||
159 | "PS#" may be contain volatile content, such as backquote commands. | ||
160 | This option recreates the prompt string from the environment | ||
161 | variable each time it is displayed. | ||
162 | |||
163 | config HUSH | ||
164 | bool "hush" | ||
165 | default n | ||
166 | select TRUE | ||
167 | select FALSE | ||
168 | select TEST | ||
169 | help | ||
170 | hush is a very small shell (just 18k) and it has fairly complete | ||
171 | Bourne shell grammar. It even handles all the normal flow control | ||
172 | options such as if/then/elif/else/fi, for/in/do/done, while loops, | ||
173 | etc. | ||
174 | |||
175 | It does not handle case/esac, select, function, here documents ( << | ||
176 | word ), arithmetic expansion, aliases, brace expansion, tilde | ||
177 | expansion, &> and >& redirection of stdout+stderr, etc. | ||
178 | |||
179 | |||
180 | config LASH | ||
181 | bool "lash" | ||
182 | default n | ||
183 | select TRUE | ||
184 | select FALSE | ||
185 | select TEST | ||
186 | help | ||
187 | lash is the very smallest shell (adds just 10k) and it is quite | ||
188 | usable as a command prompt, but it is not suitable for any but the | ||
189 | most trivial scripting (such as an initrd that calls insmod a few | ||
190 | times) since it does not understand any Bourne shell grammar. It | ||
191 | does handle pipes, redirects, and job control though. Adding in | ||
192 | command editing makes it a very nice lightweight command prompt. | ||
193 | |||
194 | |||
195 | config MSH | ||
196 | bool "msh" | ||
197 | default n | ||
198 | select TRUE | ||
199 | select FALSE | ||
200 | select TEST | ||
201 | help | ||
202 | The minix shell (adds just 30k) is quite complete and handles things | ||
203 | like for/do/done, case/esac and all the things you expect a Bourne | ||
204 | shell to do. It is not always pedantically correct about Bourne | ||
205 | shell grammar (try running the shell testscript "tests/sh.testcases" | ||
206 | on it and compare vs bash) but for most things it works quite well. | ||
207 | It also uses only vfork, so it can be used on uClinux systems. | ||
208 | |||
209 | comment "Bourne Shell Options" | ||
210 | depends on MSH || LASH || HUSH || ASH | ||
211 | |||
212 | config FEATURE_SH_EXTRA_QUIET | ||
213 | bool "Hide message on interactive shell startup" | ||
214 | default n | ||
215 | depends on MSH || LASH || HUSH || ASH | ||
216 | help | ||
217 | Remove the busybox introduction when starting a shell. | ||
218 | |||
219 | config FEATURE_SH_STANDALONE_SHELL | ||
220 | bool "Standalone shell" | ||
221 | default n | ||
222 | depends on MSH || LASH || HUSH || ASH | ||
223 | help | ||
224 | This option causes the selected busybox shell to use busybox applets | ||
225 | in preference to executables in the PATH whenever possible. For | ||
226 | example, entering the command 'ifconfig' into the shell would cause | ||
227 | busybox to use the ifconfig busybox applet. Specifying the fully | ||
228 | qualified executable name, such as '/sbin/ifconfig' will still | ||
229 | execute the /sbin/ifconfig executable on the filesystem. This option | ||
230 | is generally used when creating a statically linked version of busybox | ||
231 | for use as a rescue shell, in the event that you screw up your system. | ||
232 | |||
233 | Note that this will *also* cause applets to take precedence | ||
234 | over shell builtins of the same name. So turning this on will | ||
235 | eliminate any performance gained by turning on the builtin "echo" | ||
236 | and "test" commands in ash. | ||
237 | |||
238 | Note that when using this option, the shell will attempt to directly | ||
239 | run '/bin/busybox'. If you do not have the busybox binary sitting in | ||
240 | that exact location with that exact name, this option will not work at | ||
241 | all. | ||
242 | |||
243 | config FEATURE_COMMAND_EDITING | ||
244 | bool "Command line editing" | ||
245 | default n | ||
246 | depends on MSH || LASH || HUSH || ASH | ||
247 | help | ||
248 | Enable command editing in shell. | ||
249 | |||
250 | config FEATURE_COMMAND_EDITING_VI | ||
251 | bool "vi-style line editing commands" | ||
252 | default n | ||
253 | depends on FEATURE_COMMAND_EDITING | ||
254 | help | ||
255 | Enable vi-style line editing in the shell. This mode can be | ||
256 | turned on and off with "set -o vi" and "set +o vi". | ||
257 | |||
258 | config FEATURE_COMMAND_HISTORY | ||
259 | int "History size" | ||
260 | range 0 99999 | ||
261 | default 15 | ||
262 | depends on FEATURE_COMMAND_EDITING | ||
263 | help | ||
264 | Specify command history size in shell. | ||
265 | |||
266 | config FEATURE_COMMAND_SAVEHISTORY | ||
267 | bool "History saving" | ||
268 | default n | ||
269 | depends on ASH && FEATURE_COMMAND_EDITING | ||
270 | help | ||
271 | Enable history saving in ash shell. | ||
272 | |||
273 | config FEATURE_COMMAND_TAB_COMPLETION | ||
274 | bool "Tab completion" | ||
275 | default n | ||
276 | depends on FEATURE_COMMAND_EDITING | ||
277 | help | ||
278 | Enable tab completion in shell. | ||
279 | |||
280 | config FEATURE_COMMAND_USERNAME_COMPLETION | ||
281 | bool "Username completion" | ||
282 | default n | ||
283 | depends on FEATURE_COMMAND_TAB_COMPLETION | ||
284 | help | ||
285 | Enable username completion in shell. | ||
286 | |||
287 | config FEATURE_SH_FANCY_PROMPT | ||
288 | bool "Fancy shell prompts" | ||
289 | default n | ||
290 | depends on FEATURE_COMMAND_EDITING | ||
291 | help | ||
292 | Setting this option allows for prompts to use things like \w and | ||
293 | \$ and also using escape codes. | ||
294 | |||
295 | endmenu | ||