blob: 892b96e78432a0f0b0eb5708c0f6e31454fdd76f [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 Andersenb287e2e2003-08-08 23:40:12 +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 Andersenc9f20d92002-12-05 08:41:41 +0000100config CONFIG_HUSH
101 bool "hush"
102 default n
103 help
Eric Andersen88c916b2003-10-22 09:58:56 +0000104 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,
107 etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000108
Eric Andersenb287e2e2003-08-08 23:40:12 +0000109 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.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000112
Eric Andersenc9f20d92002-12-05 08:41:41 +0000113
Eric Andersenc9f20d92002-12-05 08:41:41 +0000114config CONFIG_LASH
115 bool "lash"
116 default n
117 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000118 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
Eric Andersen88c916b2003-10-22 09:58:56 +0000121 times) since it does not understand any Bourne shell grammar. It
Eric Andersenb287e2e2003-08-08 23:40:12 +0000122 does handle pipes, redirects, and job control though. Adding in
123 command editing makes it a very nice lightweight command prompt.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000124
Eric Andersenc9f20d92002-12-05 08:41:41 +0000125
Eric Andersenc9f20d92002-12-05 08:41:41 +0000126config CONFIG_MSH
127 bool "msh"
128 default n
129 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000130 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
Eric Andersen88c916b2003-10-22 09:58:56 +0000133 shell grammar (try running the shell testscript "tests/sh.testcases"
Eric Andersenb287e2e2003-08-08 23:40:12 +0000134 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.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000136
137comment "Bourne Shell Options"
138 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
139
Glenn L McGrath3b251852004-01-03 12:07:32 +0000140config CONFIG_FEATURE_SH_EXTRA_QUIET
141 bool "Hide message on interactive shell startup"
Eric Andersenc9f20d92002-12-05 08:41:41 +0000142 default n
143 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
144 help
Glenn L McGrath3b251852004-01-03 12:07:32 +0000145 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000146
147config CONFIG_FEATURE_SH_STANDALONE_SHELL
148 bool "Standalone shell"
149 default n
150 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
151 help
Eric Andersene5642112003-07-14 19:37:08 +0000152 Have all the busybox commands built into the shell, creating
153 a standalone shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000154
155config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
156 bool "Standalone shell -- applets always win"
157 default n
Eric Andersenf57a6142003-09-12 04:49:21 +0000158 depends on CONFIG_FEATURE_SH_STANDALONE_SHELL
Eric Andersenc9f20d92002-12-05 08:41:41 +0000159 help
Eric Andersene5642112003-07-14 19:37:08 +0000160 Use a command builtin to the shell over one with the same name,
161 that may be on the system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000162
Glenn L McGrath3b251852004-01-03 12:07:32 +0000163config CONFIG_FEATURE_COMMAND_EDITING
164 bool "command line editing"
165 default n
166 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
167 help
168 Enable command editing in shell.
169
170config CONFIG_FEATURE_COMMAND_HISTORY
171 int "history size"
172 default 15
173 depends on CONFIG_FEATURE_COMMAND_EDITING
174 help
175 Specify command history size in shell.
176
177config CONFIG_FEATURE_COMMAND_SAVEHISTORY
178 bool "history saving"
179 default n
180 depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
181 help
182 Enable history saving in ash shell.
183
184config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
185 bool "tab completion"
186 default n
187 depends on CONFIG_FEATURE_COMMAND_EDITING
188 help
189 Enable tab completion in shell.
190
191config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
192 bool "username completion"
193 default n
194 depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
195 help
196 Enable username completion in shell.
197
Eric Andersenc9f20d92002-12-05 08:41:41 +0000198config CONFIG_FEATURE_SH_FANCY_PROMPT
199 bool "Fancy shell prompts"
200 default n
Glenn L McGrath3b251852004-01-03 12:07:32 +0000201 depends on CONFIG_FEATURE_COMMAND_EDITING
Eric Andersenc9f20d92002-12-05 08:41:41 +0000202 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000203 Setting this option allows for prompts to use things like \w and
204 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000205
Eric Andersenc9f20d92002-12-05 08:41:41 +0000206endmenu