blob: 1a3c388a45fd281fa8ddc4084dd20938ee338204 [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
Ned Ludd2123b7c2005-02-09 21:07:23 +000056config CONFIG_ASH_TIMEOUT
57 bool " Enable read timeout support."
58 default n
59 depends on CONFIG_ASH_JOB_CONTROL
60 help
61 This option provides read -t <seconds> support.
62
63 read builtin which allows the function to pass control back
64 if no character input is read from the terminal within a set
65 number of seconds.
66
Eric Andersenc9f20d92002-12-05 08:41:41 +000067config CONFIG_ASH_ALIAS
68 bool " Enable alias support"
69 default y
70 depends on CONFIG_ASH
71 help
Eric Andersene5642112003-07-14 19:37:08 +000072 Enable alias support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000073
74config CONFIG_ASH_MATH_SUPPORT
75 bool " Enable Posix math support"
76 default y
77 depends on CONFIG_ASH
78 help
Eric Andersene5642112003-07-14 19:37:08 +000079 Enable math support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000080
Eric Andersened9ecf72004-06-22 08:29:45 +000081config CONFIG_ASH_MATH_SUPPORT_64
82 bool " Extend Posix math support to 64 bit"
83 default n
84 depends on CONFIG_ASH_MATH_SUPPORT
85 help
86 Enable 64-bit math support in the ash shell. This will make
87 the shell slightly larger, but will allow computation with very
88 large numbers.
89
Eric Andersenc9f20d92002-12-05 08:41:41 +000090config CONFIG_ASH_GETOPTS
Glenn L McGrath53090cd2004-09-24 09:09:44 +000091 bool " Enable getopts builtin to parse positional parameters"
Eric Andersenc9f20d92002-12-05 08:41:41 +000092 default n
93 depends on CONFIG_ASH
94 help
Glenn L McGrath53090cd2004-09-24 09:09:44 +000095 Enable getopts builtin in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000096
97config CONFIG_ASH_CMDCMD
98 bool " Enable cmdcmd to override shell builtins"
99 default n
100 depends on CONFIG_ASH
101 help
Eric Andersen3857a182003-07-22 10:14:32 +0000102 Enable support for the ash 'command' builtin, which allows
103 you to run the specified command with the specified arguments,
104 even when there is an ash builtin command with the same name.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000105
106config CONFIG_ASH_MAIL
107 bool " Check for new mail on interactive shells"
108 default y
109 depends on CONFIG_ASH
110 help
Eric Andersene5642112003-07-14 19:37:08 +0000111 Enable "check for new mail" in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000112
113config CONFIG_ASH_OPTIMIZE_FOR_SIZE
114 bool " Optimize for size instead of speed"
115 default y
116 depends on CONFIG_ASH
117 help
Eric Andersene5642112003-07-14 19:37:08 +0000118 Compile ash for reduced size at price of speed.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000119
Eric Andersen16767e22004-03-16 05:14:10 +0000120config CONFIG_ASH_RANDOM_SUPPORT
121 bool " Enable pseudorandom generator and variable $RANDOM"
122 default n
123 depends on CONFIG_ASH
124 help
125 Enable pseudorandom generator and dynamic variable "$RANDOM".
126 Each read of "$RANDOM" will generate a new pseudorandom value.
127 You can reset the generator by using a specified start value.
128 After "unset RANDOM" then generator will switch off and this
129 variable will no longer have special treatment.
130
Eric Andersenc9f20d92002-12-05 08:41:41 +0000131config CONFIG_HUSH
132 bool "hush"
133 default n
134 help
Eric Andersen88c916b2003-10-22 09:58:56 +0000135 hush is a very small shell (just 18k) and it has fairly complete
136 Bourne shell grammar. It even handles all the normal flow control
137 options such as if/then/elif/else/fi, for/in/do/done, while loops,
138 etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000139
Eric Andersenb287e2e2003-08-08 23:40:12 +0000140 It does not handle case/esac, select, function, here documents ( <<
141 word ), arithmetic expansion, aliases, brace expansion, tilde
142 expansion, &> and >& redirection of stdout+stderr, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000143
Eric Andersenc9f20d92002-12-05 08:41:41 +0000144
Eric Andersenc9f20d92002-12-05 08:41:41 +0000145config CONFIG_LASH
146 bool "lash"
147 default n
148 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000149 lash is the very smallest shell (adds just 10k) and it is quite
150 usable as a command prompt, but it is not suitable for any but the
151 most trivial scripting (such as an initrd that calls insmod a few
Eric Andersen88c916b2003-10-22 09:58:56 +0000152 times) since it does not understand any Bourne shell grammar. It
Eric Andersenb287e2e2003-08-08 23:40:12 +0000153 does handle pipes, redirects, and job control though. Adding in
154 command editing makes it a very nice lightweight command prompt.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000155
Eric Andersenc9f20d92002-12-05 08:41:41 +0000156
Eric Andersenc9f20d92002-12-05 08:41:41 +0000157config CONFIG_MSH
158 bool "msh"
159 default n
160 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000161 The minix shell (adds just 30k) is quite complete and handles things
162 like for/do/done, case/esac and all the things you expect a Bourne
163 shell to do. It is not always pedantically correct about Bourne
Eric Andersen88c916b2003-10-22 09:58:56 +0000164 shell grammar (try running the shell testscript "tests/sh.testcases"
Eric Andersenb287e2e2003-08-08 23:40:12 +0000165 on it and compare vs bash) but for most things it works quite well.
166 It also uses only vfork, so it can be used on uClinux systems.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000167
168comment "Bourne Shell Options"
169 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
170
Glenn L McGrath3b251852004-01-03 12:07:32 +0000171config CONFIG_FEATURE_SH_EXTRA_QUIET
172 bool "Hide message on interactive shell startup"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000173 default n
174 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
175 help
Glenn L McGrath3b251852004-01-03 12:07:32 +0000176 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000177
178config CONFIG_FEATURE_SH_STANDALONE_SHELL
179 bool "Standalone shell"
180 default n
181 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
182 help
Eric Andersen075dd812004-04-07 09:34:27 +0000183 This option causes the selected busybox shell to use busybox applets
184 in preference to executables in the PATH whenever possible. For
185 example, entering the command 'ifconfig' into the shell would cause
186 busybox to use the ifconfig busybox applet. Specifying the fully
187 qualified executable name, such as '/sbin/ifconfig' will still
188 execute the /sbin/ifconfig executable on the filesystem. This option
189 is generally used when creating a staticly linked version of busybox
190 for use as a rescue shell, in the event that you screw up your system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000191
Eric Andersen6f8542b2004-09-24 01:25:39 +0000192 Note that when using this option, the shell will attempt to directly
193 run '/bin/busybox'. If you do not have the busybox binary sitting in
194 that exact location with that exact name, this option will not work at
195 all.
196
Glenn L McGrath3b251852004-01-03 12:07:32 +0000197config CONFIG_FEATURE_COMMAND_EDITING
198 bool "command line editing"
199 default n
200 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
201 help
202 Enable command editing in shell.
203
204config CONFIG_FEATURE_COMMAND_HISTORY
205 int "history size"
206 default 15
207 depends on CONFIG_FEATURE_COMMAND_EDITING
208 help
209 Specify command history size in shell.
210
211config CONFIG_FEATURE_COMMAND_SAVEHISTORY
212 bool "history saving"
213 default n
214 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
215 help
216 Enable history saving in ash shell.
217
218config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
219 bool "tab completion"
220 default n
221 depends on CONFIG_FEATURE_COMMAND_EDITING
222 help
223 Enable tab completion in shell.
224
225config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
226 bool "username completion"
227 default n
228 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
229 help
230 Enable username completion in shell.
231
Eric Andersenc9f20d92002-12-05 08:41:41 +0000232config CONFIG_FEATURE_SH_FANCY_PROMPT
233 bool "Fancy shell prompts"
234 default n
Glenn L McGrath3b251852004-01-03 12:07:32 +0000235 depends on CONFIG_FEATURE_COMMAND_EDITING
Eric Andersenc9f20d92002-12-05 08:41:41 +0000236 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000237 Setting this option allows for prompts to use things like \w and
238 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000239
Eric Andersenc9f20d92002-12-05 08:41:41 +0000240endmenu