source: freewrt/package/busybox/config/shell/Config.in@ 356d3a6

freewrt_1_0 freewrt_2_0
Last change on this file since 356d3a6 was 356d3a6, checked in by Thorsten Glaser <tg@…>, 19 years ago
  • bring shell configuration in one single place
  • enhance comments; make sure we always need one /bin/sh (currently not enforced; there will be no root shell selectable if none is available; the user shell will default to /bin/sh but that isn't supplied) and one /bin/ash (either busybox ash or mksh, both work fine)

Now feel free to go and add a GNU b(lo)a(t)sh package...
configuration is similar as mksh, and it can also be used
as /bin/sh (obviously) and /bin/ash.

git-svn-id: svn://www.freewrt.org/trunk/freewrt@443 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 8.9 KB
Line 
1comment " Enable busybox above if you want to enable any of the busybox"
2 depends !FWRT_PACKAGE_BUSYBOX
3comment " built-in shells: ash, hush, lash, msh"
4 depends !FWRT_PACKAGE_BUSYBOX
5
6config BUSYBOX_CONFIG_ASH
7 bool "ash............................... default featured shell"
8 default y
9 depends FWRT_PACKAGE_BUSYBOX
10 select BUSYBOX_CONFIG_TEST
11 help
12 Tha 'ash' shell adds about 60k in the default configuration and is
13 the most complete and most pedantically correct shell included with
14 busybox. This shell is actually a derivative of the Debian 'dash'
15 shell (by Herbert Xu), which was created by porting the 'ash' shell
16 (written by Kenneth Almquist) from NetBSD.
17 FreeWRT needs a working /bin/ash in all cases; if you do not select
18 busybox ash make sure you enable mksh to run as /bin/ash below.
19
20comment "Ash Shell Options"
21 depends on BUSYBOX_CONFIG_ASH
22
23config BUSYBOX_CONFIG_ASH_JOB_CONTROL
24 bool " Enable Job control"
25 default y
26 depends on BUSYBOX_CONFIG_ASH
27 help
28 Enable job control in the ash shell.
29
30config BUSYBOX_CONFIG_ASH_READ_NCHARS
31 bool " Enable 'read -n N' and 'read -s' support"
32 default n
33 depends on BUSYBOX_CONFIG_ASH
34 help
35 'read -n N' will return a value after N characters have been read.
36 'read -s' will read without echoing the user's input.
37
38config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
39 bool " Enable 'read -t S' support."
40 default y
41 depends on BUSYBOX_CONFIG_ASH
42 help
43 'read -t S' will return a value after S seconds have passed.
44 This implementation will allow fractional seconds, expressed
45 as a decimal fraction, e.g. 'read -t 2.5 foo'.
46
47config BUSYBOX_CONFIG_ASH_ALIAS
48 bool " Enable alias support"
49 default y
50 depends on BUSYBOX_CONFIG_ASH
51 help
52 Enable alias support in the ash shell.
53
54config BUSYBOX_CONFIG_ASH_MATH_SUPPORT
55 bool " Enable Posix math support"
56 default y
57 depends on BUSYBOX_CONFIG_ASH
58 help
59 Enable math support in the ash shell.
60
61config BUSYBOX_CONFIG_ASH_MATH_SUPPORT_64
62 bool " Extend Posix math support to 64 bit"
63 default n
64 depends on BUSYBOX_CONFIG_ASH_MATH_SUPPORT
65 help
66 Enable 64-bit math support in the ash shell. This will make
67 the shell slightly larger, but will allow computation with very
68 large numbers.
69
70config BUSYBOX_CONFIG_ASH_GETOPTS
71 bool " Enable getopts builtin to parse positional parameters"
72 default y
73 depends on BUSYBOX_CONFIG_ASH
74 help
75 Enable getopts builtin in the ash shell.
76
77config BUSYBOX_CONFIG_ASH_CMDCMD
78 bool " Enable cmdcmd to override shell builtins"
79 default y
80 depends on BUSYBOX_CONFIG_ASH
81 help
82 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.
85
86config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
87 bool " Enable builtin version of 'echo'"
88 default y
89 depends on BUSYBOX_CONFIG_ASH
90 help
91 Enable support for echo, built in to ash.
92
93# this entry also appears in coreutils/Config.in, next to the echo applet
94config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
95 bool " Enable echo options (-n and -e)"
96 default y
97 depends on BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
98 help
99 This adds options (-n and -e) to echo.
100
101config BUSYBOX_CONFIG_ASH_MAIL
102 bool " Check for new mail on interactive shells"
103 default n
104 depends on BUSYBOX_CONFIG_ASH
105 help
106 Enable "check for new mail" in the ash shell.
107
108config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
109 bool " Optimize for size instead of speed"
110 default y
111 depends on BUSYBOX_CONFIG_ASH
112 help
113 Compile ash for reduced size at the price of speed.
114
115config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
116 bool " Enable pseudorandom generator and variable $RANDOM"
117 default n
118 depends on BUSYBOX_CONFIG_ASH
119 help
120 Enable pseudorandom generator and dynamic variable "$RANDOM".
121 Each read of "$RANDOM" will generate a new pseudorandom value.
122 You can reset the generator by using a specified start value.
123 After "unset RANDOM" then generator will switch off and this
124 variable will no longer have special treatment.
125
126config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
127 bool " Expand prompt string"
128 default n
129 depends on BUSYBOX_CONFIG_ASH
130 help
131 "PS#" may be contain volatile content, such as backquote commands.
132 This option recreates the prompt string from the environment
133 variable each time it is displayed.
134
135config BUSYBOX_CONFIG_HUSH
136 bool "hush.............................. small bourne-compatible shell"
137 default n
138 depends FWRT_PACKAGE_BUSYBOX
139 select BUSYBOX_CONFIG_TRUE
140 select BUSYBOX_CONFIG_FALSE
141 select BUSYBOX_CONFIG_TEST
142 help
143 hush is a very small shell (just 18k) and it has fairly complete
144 Bourne shell grammar. It even handles all the normal flow control
145 options such as if/then/elif/else/fi, for/in/do/done, while loops,
146 etc.
147
148 It does not handle case/esac, select, function, here documents ( <<
149 word ), arithmetic expansion, aliases, brace expansion, tilde
150 expansion, &> and >& redirection of stdout+stderr, etc.
151
152
153config BUSYBOX_CONFIG_LASH
154 bool "lash.............................. smallest shell"
155 default n
156 depends FWRT_PACKAGE_BUSYBOX
157 select BUSYBOX_CONFIG_TRUE
158 select BUSYBOX_CONFIG_FALSE
159 select BUSYBOX_CONFIG_TEST
160 help
161 lash is the very smallest shell (adds just 10k) and it is quite
162 usable as a command prompt, but it is not suitable for any but the
163 most trivial scripting (such as an initrd that calls insmod a few
164 times) since it does not understand any Bourne shell grammar. It
165 does handle pipes, redirects, and job control though. Adding in
166 command editing makes it a very nice lightweight command prompt.
167
168
169config BUSYBOX_CONFIG_MSH
170 bool "msh............................... Minix shell"
171 default n
172 depends FWRT_PACKAGE_BUSYBOX
173 select BUSYBOX_CONFIG_TRUE
174 select BUSYBOX_CONFIG_FALSE
175 select BUSYBOX_CONFIG_TEST
176 help
177 The minix shell (adds just 30k) is quite complete and handles things
178 like for/do/done, case/esac and all the things you expect a Bourne
179 shell to do. It is not always pedantically correct about Bourne
180 shell grammar (try running the shell testscript "tests/sh.testcases"
181 on it and compare vs bash) but for most things it works quite well.
182 It also uses only vfork, so it can be used on uClinux systems.
183
184comment " busybox Bourne Shell Options"
185 depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
186
187config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
188 bool " Hide message on interactive shell startup"
189 default n
190 depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
191 help
192 Remove the busybox introduction when starting a shell.
193
194config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
195 bool " Standalone shell"
196 default n
197 depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
198 help
199 This option causes the selected busybox shell to use busybox applets
200 in preference to executables in the PATH whenever possible. For
201 example, entering the command 'ifconfig' into the shell would cause
202 busybox to use the ifconfig busybox applet. Specifying the fully
203 qualified executable name, such as '/sbin/ifconfig' will still
204 execute the /sbin/ifconfig executable on the filesystem. This option
205 is generally used when creating a statically linked version of busybox
206 for use as a rescue shell, in the event that you screw up your system.
207
208 Note that when using this option, the shell will attempt to directly
209 run '/bin/busybox'. If you do not have the busybox binary sitting in
210 that exact location with that exact name, this option will not work at
211 all.
212
213config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
214 bool " command line editing"
215 default y
216 depends on BUSYBOX_CONFIG_MSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
217 help
218 Enable command editing in shell.
219
220config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING_VI
221 bool " vi-style line editing commands"
222 default n
223 depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
224 help
225 Enable vi-style line editing in the shell. This mode can be
226 turned on and off with "set -o vi" and "set +o vi".
227
228config BUSYBOX_CONFIG_FEATURE_COMMAND_HISTORY
229 int " history size"
230 default 15
231 depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
232 help
233 Specify command history size in shell.
234
235config BUSYBOX_CONFIG_FEATURE_COMMAND_SAVEHISTORY
236 bool " history saving"
237 default n
238 depends on BUSYBOX_CONFIG_ASH && BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
239 help
240 Enable history saving in ash shell.
241
242config BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
243 bool " tab completion"
244 default y
245 depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
246 help
247 Enable tab completion in shell.
248
249config BUSYBOX_CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
250 bool " username completion"
251 default n
252 depends on BUSYBOX_CONFIG_FEATURE_COMMAND_TAB_COMPLETION
253 help
254 Enable username completion in shell.
255
256config BUSYBOX_CONFIG_FEATURE_SH_FANCY_PROMPT
257 bool " Fancy shell prompts"
258 default y
259 depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
260 help
261 Setting this option allows for prompts to use things like \w and
262 \$ and also using escape codes.
Note: See TracBrowser for help on using the repository browser.