blob: eb4616672491e9ad22e20ac82a90cce008c496ab [file] [log] [blame]
Eric Andersenc9f20d92002-12-05 08:41:41 +00001#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
Glenn L McGrathfdbbb042002-12-09 11:10:40 +00006menu "Another Bourne-like Shell"
Eric Andersenc9f20d92002-12-05 08:41:41 +00007
8choice
9 prompt "Choose your default shell"
Eric Andersen72d8e442003-08-05 02:18:25 +000010 default CONFIG_FEATURE_SH_IS_NONE
Eric Andersenc9f20d92002-12-05 08:41:41 +000011 help
Eric Andersene5642112003-07-14 19:37:08 +000012 Choose a shell. The ash shell is the most bash compatible
Eric Andersen88c916b2003-10-22 09:58:56 +000013 and full featured one.
Eric Andersenc9f20d92002-12-05 08:41:41 +000014
15config CONFIG_FEATURE_SH_IS_ASH
Eric Andersenb287e2e2003-08-08 23:40:12 +000016 select CONFIG_ASH
Eric Andersenc9f20d92002-12-05 08:41:41 +000017 bool "ash"
18
19config CONFIG_FEATURE_SH_IS_HUSH
Eric Andersenb287e2e2003-08-08 23:40:12 +000020 select CONFIG_HUSH
Eric Andersenc9f20d92002-12-05 08:41:41 +000021 bool "hush"
22
23config CONFIG_FEATURE_SH_IS_LASH
Eric Andersenb287e2e2003-08-08 23:40:12 +000024 select CONFIG_LASH
Eric Andersenc9f20d92002-12-05 08:41:41 +000025 bool "lash"
26
27config CONFIG_FEATURE_SH_IS_MSH
Eric Andersenb287e2e2003-08-08 23:40:12 +000028 select CONFIG_MSH
Eric Andersenc9f20d92002-12-05 08:41:41 +000029 bool "msh"
30
Eric Andersena6b90512002-12-06 21:49:59 +000031config CONFIG_FEATURE_SH_IS_NONE
32 bool "none"
33
Eric Andersenc9f20d92002-12-05 08:41:41 +000034endchoice
35
Eric Andersenc9f20d92002-12-05 08:41:41 +000036config CONFIG_ASH
37 bool "ash"
38 default y
39 help
Eric Andersenb287e2e2003-08-08 23:40:12 +000040 Tha 'ash' shell adds about 60k in the default configuration and is
41 the most complete and most pedantically correct shell included with
Eric Andersen88c916b2003-10-22 09:58:56 +000042 busybox. This shell is actually a derivative of the Debian 'dash'
43 shell (by Herbert Xu), which was created by porting the 'ash' shell
Eric Andersenc7bda1c2004-03-15 08:29:22 +000044 (written by Kenneth Almquist) from NetBSD.
Eric Andersenc9f20d92002-12-05 08:41:41 +000045
46comment "Ash Shell Options"
47 depends on CONFIG_ASH
48
49config CONFIG_ASH_JOB_CONTROL
50 bool " Enable Job control"
51 default y
52 depends on CONFIG_ASH
53 help
Eric Andersene5642112003-07-14 19:37:08 +000054 Enable job control in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000055
Paul Fox02eb9342005-09-07 16:56:02 +000056config CONFIG_ASH_READ_NCHARS
57 bool " Enable 'read -n N' and 'read -s' support"
Ned Ludd2123b7c2005-02-09 21:07:23 +000058 default n
Paul Fox02eb9342005-09-07 16:56:02 +000059 depends on CONFIG_ASH
Ned Ludd2123b7c2005-02-09 21:07:23 +000060 help
Paul Fox02eb9342005-09-07 16:56:02 +000061 'read -n N' will return a value after N characters have been read.
62 'read -s' will read without echoing the user's input.
Ned Ludd2123b7c2005-02-09 21:07:23 +000063
Paul Fox02eb9342005-09-07 16:56:02 +000064config CONFIG_ASH_READ_TIMEOUT
65 bool " Enable 'read -t S' support."
66 default n
67 depends on CONFIG_ASH
68 help
69 'read -t S' will return a value after S seconds have passed.
70 This implementation will allow fractional seconds, expressed
71 as a decimal fraction, e.g. 'read -t 2.5 foo'.
Ned Ludd2123b7c2005-02-09 21:07:23 +000072
Eric Andersenc9f20d92002-12-05 08:41:41 +000073config CONFIG_ASH_ALIAS
74 bool " Enable alias support"
75 default y
76 depends on CONFIG_ASH
77 help
Eric Andersene5642112003-07-14 19:37:08 +000078 Enable alias support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000079
80config CONFIG_ASH_MATH_SUPPORT
81 bool " Enable Posix math support"
82 default y
83 depends on CONFIG_ASH
84 help
Eric Andersene5642112003-07-14 19:37:08 +000085 Enable math support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000086
Eric Andersened9ecf72004-06-22 08:29:45 +000087config CONFIG_ASH_MATH_SUPPORT_64
88 bool " Extend Posix math support to 64 bit"
89 default n
90 depends on CONFIG_ASH_MATH_SUPPORT
91 help
92 Enable 64-bit math support in the ash shell. This will make
93 the shell slightly larger, but will allow computation with very
94 large numbers.
95
Eric Andersenc9f20d92002-12-05 08:41:41 +000096config CONFIG_ASH_GETOPTS
Glenn L McGrath53090cd2004-09-24 09:09:44 +000097 bool " Enable getopts builtin to parse positional parameters"
Eric Andersenc9f20d92002-12-05 08:41:41 +000098 default n
99 depends on CONFIG_ASH
100 help
Glenn L McGrath53090cd2004-09-24 09:09:44 +0000101 Enable getopts builtin in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000102
103config CONFIG_ASH_CMDCMD
104 bool " Enable cmdcmd to override shell builtins"
105 default n
106 depends on CONFIG_ASH
107 help
Eric Andersen3857a182003-07-22 10:14:32 +0000108 Enable support for the ash 'command' builtin, which allows
109 you to run the specified command with the specified arguments,
110 even when there is an ash builtin command with the same name.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000111
Paul Fox0b621582005-08-09 19:38:05 +0000112config CONFIG_ASH_BUILTIN_ECHO
113 bool " Enable builtin version of 'echo'"
114 default n
115 depends on CONFIG_ASH
116 help
117 Enable support for echo, built in to ash.
118
119# this entry also appears in coreutils/Config.in, next to the echo applet
120config CONFIG_FEATURE_FANCY_ECHO
121 bool " Enable echo options (-n and -e)"
122 default y
123 depends on CONFIG_ASH_BUILTIN_ECHO
124 help
125 This adds options (-n and -e) to echo.
126
Eric Andersenc9f20d92002-12-05 08:41:41 +0000127config CONFIG_ASH_MAIL
128 bool " Check for new mail on interactive shells"
129 default y
130 depends on CONFIG_ASH
131 help
Eric Andersene5642112003-07-14 19:37:08 +0000132 Enable "check for new mail" in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000133
134config CONFIG_ASH_OPTIMIZE_FOR_SIZE
135 bool " Optimize for size instead of speed"
136 default y
137 depends on CONFIG_ASH
138 help
Eric Andersene5642112003-07-14 19:37:08 +0000139 Compile ash for reduced size at price of speed.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000140
Eric Andersen16767e22004-03-16 05:14:10 +0000141config CONFIG_ASH_RANDOM_SUPPORT
142 bool " Enable pseudorandom generator and variable $RANDOM"
143 default n
144 depends on CONFIG_ASH
145 help
146 Enable pseudorandom generator and dynamic variable "$RANDOM".
147 Each read of "$RANDOM" will generate a new pseudorandom value.
148 You can reset the generator by using a specified start value.
149 After "unset RANDOM" then generator will switch off and this
150 variable will no longer have special treatment.
151
"Vladimir N. Oleynik"bef14d72005-09-05 13:25:11 +0000152config CONFIG_ASH_EXPAND_PRMT
153 bool " Support expand PS#"
154 default n
155 depends on CONFIG_ASH
156 help
157 "PS#" may be have commands. It option enable expand string
158 from prompt before each show.
159
160
Eric Andersenc9f20d92002-12-05 08:41:41 +0000161config CONFIG_HUSH
162 bool "hush"
163 default n
164 help
Eric Andersen88c916b2003-10-22 09:58:56 +0000165 hush is a very small shell (just 18k) and it has fairly complete
166 Bourne shell grammar. It even handles all the normal flow control
167 options such as if/then/elif/else/fi, for/in/do/done, while loops,
168 etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000169
Eric Andersenb287e2e2003-08-08 23:40:12 +0000170 It does not handle case/esac, select, function, here documents ( <<
171 word ), arithmetic expansion, aliases, brace expansion, tilde
172 expansion, &> and >& redirection of stdout+stderr, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000173
Eric Andersenc9f20d92002-12-05 08:41:41 +0000174
Eric Andersenc9f20d92002-12-05 08:41:41 +0000175config CONFIG_LASH
176 bool "lash"
177 default n
178 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000179 lash is the very smallest shell (adds just 10k) and it is quite
180 usable as a command prompt, but it is not suitable for any but the
181 most trivial scripting (such as an initrd that calls insmod a few
Eric Andersen88c916b2003-10-22 09:58:56 +0000182 times) since it does not understand any Bourne shell grammar. It
Eric Andersenb287e2e2003-08-08 23:40:12 +0000183 does handle pipes, redirects, and job control though. Adding in
184 command editing makes it a very nice lightweight command prompt.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000185
Eric Andersenc9f20d92002-12-05 08:41:41 +0000186
Eric Andersenc9f20d92002-12-05 08:41:41 +0000187config CONFIG_MSH
188 bool "msh"
189 default n
190 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000191 The minix shell (adds just 30k) is quite complete and handles things
192 like for/do/done, case/esac and all the things you expect a Bourne
193 shell to do. It is not always pedantically correct about Bourne
Eric Andersen88c916b2003-10-22 09:58:56 +0000194 shell grammar (try running the shell testscript "tests/sh.testcases"
Eric Andersenb287e2e2003-08-08 23:40:12 +0000195 on it and compare vs bash) but for most things it works quite well.
196 It also uses only vfork, so it can be used on uClinux systems.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000197
198comment "Bourne Shell Options"
199 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
200
Glenn L McGrath3b251852004-01-03 12:07:32 +0000201config CONFIG_FEATURE_SH_EXTRA_QUIET
202 bool "Hide message on interactive shell startup"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000203 default n
204 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
205 help
Glenn L McGrath3b251852004-01-03 12:07:32 +0000206 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000207
208config CONFIG_FEATURE_SH_STANDALONE_SHELL
209 bool "Standalone shell"
210 default n
211 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
212 help
Eric Andersen075dd812004-04-07 09:34:27 +0000213 This option causes the selected busybox shell to use busybox applets
214 in preference to executables in the PATH whenever possible. For
215 example, entering the command 'ifconfig' into the shell would cause
216 busybox to use the ifconfig busybox applet. Specifying the fully
217 qualified executable name, such as '/sbin/ifconfig' will still
218 execute the /sbin/ifconfig executable on the filesystem. This option
219 is generally used when creating a staticly linked version of busybox
220 for use as a rescue shell, in the event that you screw up your system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000221
Eric Andersen6f8542b2004-09-24 01:25:39 +0000222 Note that when using this option, the shell will attempt to directly
223 run '/bin/busybox'. If you do not have the busybox binary sitting in
224 that exact location with that exact name, this option will not work at
225 all.
226
Glenn L McGrath3b251852004-01-03 12:07:32 +0000227config CONFIG_FEATURE_COMMAND_EDITING
228 bool "command line editing"
229 default n
230 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
231 help
232 Enable command editing in shell.
233
Paul Fox3f11b1b2005-08-04 19:04:46 +0000234config CONFIG_FEATURE_COMMAND_EDITING_VI
235 bool "vi-style line editing commands"
236 default n
237 depends on CONFIG_FEATURE_COMMAND_EDITING
238 help
239 Enable vi-style line editing in the shell. This mode can be
240 turned on and off with "set -o vi" and "set +o vi".
241
Glenn L McGrath3b251852004-01-03 12:07:32 +0000242config CONFIG_FEATURE_COMMAND_HISTORY
243 int "history size"
244 default 15
245 depends on CONFIG_FEATURE_COMMAND_EDITING
246 help
247 Specify command history size in shell.
248
249config CONFIG_FEATURE_COMMAND_SAVEHISTORY
250 bool "history saving"
251 default n
252 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
253 help
254 Enable history saving in ash shell.
255
256config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
257 bool "tab completion"
258 default n
259 depends on CONFIG_FEATURE_COMMAND_EDITING
260 help
261 Enable tab completion in shell.
262
263config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
264 bool "username completion"
265 default n
266 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
267 help
268 Enable username completion in shell.
269
Eric Andersenc9f20d92002-12-05 08:41:41 +0000270config CONFIG_FEATURE_SH_FANCY_PROMPT
271 bool "Fancy shell prompts"
272 default n
Glenn L McGrath3b251852004-01-03 12:07:32 +0000273 depends on CONFIG_FEATURE_COMMAND_EDITING
Eric Andersenc9f20d92002-12-05 08:41:41 +0000274 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000275 Setting this option allows for prompts to use things like \w and
276 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000277
Eric Andersenc9f20d92002-12-05 08:41:41 +0000278endmenu