blob: 34baaa45cadeccdbbbaf9225d9f3b378961e4538 [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
56config CONFIG_ASH_ALIAS
57 bool " Enable alias support"
58 default y
59 depends on CONFIG_ASH
60 help
Eric Andersene5642112003-07-14 19:37:08 +000061 Enable alias support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000062
63config CONFIG_ASH_MATH_SUPPORT
64 bool " Enable Posix math support"
65 default y
66 depends on CONFIG_ASH
67 help
Eric Andersene5642112003-07-14 19:37:08 +000068 Enable math support in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000069
70config CONFIG_ASH_GETOPTS
71 bool " Enable getopt builtin to parse positional parameters"
72 default n
73 depends on CONFIG_ASH
74 help
Eric Andersene5642112003-07-14 19:37:08 +000075 Enable builtin getopt in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000076
77config CONFIG_ASH_CMDCMD
78 bool " Enable cmdcmd to override shell builtins"
79 default n
80 depends on CONFIG_ASH
81 help
Eric Andersen3857a182003-07-22 10:14:32 +000082 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.
Eric Andersenc9f20d92002-12-05 08:41:41 +000085
86config CONFIG_ASH_MAIL
87 bool " Check for new mail on interactive shells"
88 default y
89 depends on CONFIG_ASH
90 help
Eric Andersene5642112003-07-14 19:37:08 +000091 Enable "check for new mail" in the ash shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +000092
93config CONFIG_ASH_OPTIMIZE_FOR_SIZE
94 bool " Optimize for size instead of speed"
95 default y
96 depends on CONFIG_ASH
97 help
Eric Andersene5642112003-07-14 19:37:08 +000098 Compile ash for reduced size at price of speed.
Eric Andersenc9f20d92002-12-05 08:41:41 +000099
Eric Andersen16767e22004-03-16 05:14:10 +0000100config CONFIG_ASH_RANDOM_SUPPORT
101 bool " Enable pseudorandom generator and variable $RANDOM"
102 default n
103 depends on CONFIG_ASH
104 help
105 Enable pseudorandom generator and dynamic variable "$RANDOM".
106 Each read of "$RANDOM" will generate a new pseudorandom value.
107 You can reset the generator by using a specified start value.
108 After "unset RANDOM" then generator will switch off and this
109 variable will no longer have special treatment.
110
Eric Andersenc9f20d92002-12-05 08:41:41 +0000111config CONFIG_HUSH
112 bool "hush"
113 default n
114 help
Eric Andersen88c916b2003-10-22 09:58:56 +0000115 hush is a very small shell (just 18k) and it has fairly complete
116 Bourne shell grammar. It even handles all the normal flow control
117 options such as if/then/elif/else/fi, for/in/do/done, while loops,
118 etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000119
Eric Andersenb287e2e2003-08-08 23:40:12 +0000120 It does not handle case/esac, select, function, here documents ( <<
121 word ), arithmetic expansion, aliases, brace expansion, tilde
122 expansion, &> and >& redirection of stdout+stderr, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000123
Eric Andersenc9f20d92002-12-05 08:41:41 +0000124
Eric Andersenc9f20d92002-12-05 08:41:41 +0000125config CONFIG_LASH
126 bool "lash"
127 default n
128 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000129 lash is the very smallest shell (adds just 10k) and it is quite
130 usable as a command prompt, but it is not suitable for any but the
131 most trivial scripting (such as an initrd that calls insmod a few
Eric Andersen88c916b2003-10-22 09:58:56 +0000132 times) since it does not understand any Bourne shell grammar. It
Eric Andersenb287e2e2003-08-08 23:40:12 +0000133 does handle pipes, redirects, and job control though. Adding in
134 command editing makes it a very nice lightweight command prompt.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000135
Eric Andersenc9f20d92002-12-05 08:41:41 +0000136
Eric Andersenc9f20d92002-12-05 08:41:41 +0000137config CONFIG_MSH
138 bool "msh"
139 default n
140 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000141 The minix shell (adds just 30k) is quite complete and handles things
142 like for/do/done, case/esac and all the things you expect a Bourne
143 shell to do. It is not always pedantically correct about Bourne
Eric Andersen88c916b2003-10-22 09:58:56 +0000144 shell grammar (try running the shell testscript "tests/sh.testcases"
Eric Andersenb287e2e2003-08-08 23:40:12 +0000145 on it and compare vs bash) but for most things it works quite well.
146 It also uses only vfork, so it can be used on uClinux systems.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000147
148comment "Bourne Shell Options"
149 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
150
Glenn L McGrath3b251852004-01-03 12:07:32 +0000151config CONFIG_FEATURE_SH_EXTRA_QUIET
152 bool "Hide message on interactive shell startup"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000153 default n
154 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
155 help
Glenn L McGrath3b251852004-01-03 12:07:32 +0000156 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000157
158config CONFIG_FEATURE_SH_STANDALONE_SHELL
159 bool "Standalone shell"
160 default n
161 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
162 help
Eric Andersene5642112003-07-14 19:37:08 +0000163 Have all the busybox commands built into the shell, creating
164 a standalone shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000165
166config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
167 bool "Standalone shell -- applets always win"
168 default n
Eric Andersenf57a6142003-09-12 04:49:21 +0000169 depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
Eric Andersenc9f20d92002-12-05 08:41:41 +0000170 help
Eric Andersene5642112003-07-14 19:37:08 +0000171 Use a command builtin to the shell over one with the same name,
172 that may be on the system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000173
Glenn L McGrath3b251852004-01-03 12:07:32 +0000174config CONFIG_FEATURE_COMMAND_EDITING
175 bool "command line editing"
176 default n
177 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
178 help
179 Enable command editing in shell.
180
181config CONFIG_FEATURE_COMMAND_HISTORY
182 int "history size"
183 default 15
184 depends on CONFIG_FEATURE_COMMAND_EDITING
185 help
186 Specify command history size in shell.
187
188config CONFIG_FEATURE_COMMAND_SAVEHISTORY
189 bool "history saving"
190 default n
191 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
192 help
193 Enable history saving in ash shell.
194
195config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
196 bool "tab completion"
197 default n
198 depends on CONFIG_FEATURE_COMMAND_EDITING
199 help
200 Enable tab completion in shell.
201
202config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
203 bool "username completion"
204 default n
205 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
206 help
207 Enable username completion in shell.
208
Eric Andersenc9f20d92002-12-05 08:41:41 +0000209config CONFIG_FEATURE_SH_FANCY_PROMPT
210 bool "Fancy shell prompts"
211 default n
Glenn L McGrath3b251852004-01-03 12:07:32 +0000212 depends on CONFIG_FEATURE_COMMAND_EDITING
Eric Andersenc9f20d92002-12-05 08:41:41 +0000213 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000214 Setting this option allows for prompts to use things like \w and
215 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000216
Eric Andersenc9f20d92002-12-05 08:41:41 +0000217endmenu