blob: bd6f39f7d474f3181c74ac717637fe8605b4ad94 [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
13 and full featured.
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
42 busybox. This shell is actually a derivitive the Debian 'dash' shell
43 (by Herbert Xu), which was created by porting the 'ash' shell
44 (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 Andersenb287e2e2003-08-08 23:40:12 +0000104 hush is very small shell (just 18k) and it has fairly complete Bourne
105 shell grammer. It even handles all the normal flow control options
106 such as if/then/elif/else/fi, for/in/do/done, while loops, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000107
Eric Andersenb287e2e2003-08-08 23:40:12 +0000108 It does not handle case/esac, select, function, here documents ( <<
109 word ), arithmetic expansion, aliases, brace expansion, tilde
110 expansion, &> and >& redirection of stdout+stderr, etc.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000111
Eric Andersenc9f20d92002-12-05 08:41:41 +0000112
Eric Andersenc9f20d92002-12-05 08:41:41 +0000113config CONFIG_LASH
114 bool "lash"
115 default n
116 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000117 lash is the very smallest shell (adds just 10k) and it is quite
118 usable as a command prompt, but it is not suitable for any but the
119 most trivial scripting (such as an initrd that calls insmod a few
120 times) since it does not understand any Bourne shell grammer. It
121 does handle pipes, redirects, and job control though. Adding in
122 command editing makes it a very nice lightweight command prompt.
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_MSH
126 bool "msh"
127 default n
128 help
Eric Andersenb287e2e2003-08-08 23:40:12 +0000129 The minix shell (adds just 30k) is quite complete and handles things
130 like for/do/done, case/esac and all the things you expect a Bourne
131 shell to do. It is not always pedantically correct about Bourne
132 shell grammer (try running the shell testscript "tests/sh.testcases"
133 on it and compare vs bash) but for most things it works quite well.
134 It also uses only vfork, so it can be used on uClinux systems.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000135
136comment "Bourne Shell Options"
137 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
138
139config CONFIG_FEATURE_COMMAND_EDITING
140 bool "command line editing"
141 default n
142 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
143 help
Eric Andersene5642112003-07-14 19:37:08 +0000144 Enable command editing in shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000145
Glenn L McGrathfdbbb042002-12-09 11:10:40 +0000146config CONFIG_FEATURE_COMMAND_SAVEHISTORY
147 bool " history saving"
148 default n
149 depends on CONFIG_ASH
150 help
Eric Andersene5642112003-07-14 19:37:08 +0000151 Enable history saving in ash shell.
Glenn L McGrathfdbbb042002-12-09 11:10:40 +0000152
Eric Andersenc9f20d92002-12-05 08:41:41 +0000153config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
154 bool "tab completion"
155 default n
156 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
157 help
Eric Andersene5642112003-07-14 19:37:08 +0000158 Enable tab completion in shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000159
160config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
161 bool "username completion"
162 default n
163 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
164 help
Eric Andersene5642112003-07-14 19:37:08 +0000165 Enable username completion in shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000166
167config CONFIG_FEATURE_COMMAND_HISTORY
168 int "history size"
169 default 15
170 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
171 help
Eric Andersene5642112003-07-14 19:37:08 +0000172 Specify command history size in shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000173
174config CONFIG_FEATURE_SH_STANDALONE_SHELL
175 bool "Standalone shell"
176 default n
177 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
178 help
Eric Andersene5642112003-07-14 19:37:08 +0000179 Have all the busybox commands built into the shell, creating
180 a standalone shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000181
182config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN
183 bool "Standalone shell -- applets always win"
184 default n
185 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
186 help
Eric Andersene5642112003-07-14 19:37:08 +0000187 Use a command builtin to the shell over one with the same name,
188 that may be on the system.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000189
190config CONFIG_FEATURE_SH_FANCY_PROMPT
191 bool "Fancy shell prompts"
192 default n
193 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
194 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000195 Setting this option allows for prompts to use things like \w and
196 \$ and also using escape codes.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000197
198config CONFIG_FEATURE_SH_EXTRA_QUIET
199 bool "Hide message on interactive shell startup"
200 default n
201 depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
202 help
Eric Andersen9c3c38d2003-07-22 09:59:34 +0000203 Remove the busybox introduction when starting a shell.
Eric Andersenc9f20d92002-12-05 08:41:41 +0000204
205endmenu
206