1 # DO NOT EDIT. This file is generated from Config.src
3 # For a description of the syntax of this configuration file,
4 # see docs/Kconfig-language.txt.
11 prompt "Choose which shell is aliased to 'sh' name"
12 default BUSYBOX_CONFIG_SH_IS_ASH
14 Choose which shell you want to be executed by 'sh' alias.
15 The ash shell is the most bash compatible and full featured one.
17 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
18 config BUSYBOX_CONFIG_SH_IS_ASH
19 depends on !BUSYBOX_CONFIG_NOMMU
22 Choose ash to be the shell executed by 'sh' name.
23 The ash code will be built into busybox. If you don't select
24 "ash" choice (CONFIG_ASH), this shell may only be invoked by
25 the name 'sh' (and not 'ash').
27 config BUSYBOX_CONFIG_SH_IS_HUSH
30 Choose hush to be the shell executed by 'sh' name.
31 The hush code will be built into busybox. If you don't select
32 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
33 the name 'sh' (and not 'hush').
35 config BUSYBOX_CONFIG_SH_IS_NONE
41 prompt "Choose which shell is aliased to 'bash' name"
42 default BUSYBOX_CONFIG_BASH_IS_NONE
44 Choose which shell you want to be executed by 'bash' alias.
45 The ash shell is the most bash compatible and full featured one,
46 although compatibility is far from being complete.
48 Note that selecting this option does not switch on any bash
49 compatibility code. It merely makes it possible to install
50 /bin/bash (sym)link and run scripts which start with
53 Many systems use it in scripts which use bash-specific features,
54 even simple ones like $RANDOM. Without this option, busybox
55 can't be used for running them because it won't recongnize
56 "bash" as a supported applet name.
58 config BUSYBOX_CONFIG_BASH_IS_ASH
59 depends on !BUSYBOX_CONFIG_NOMMU
62 Choose ash to be the shell executed by 'bash' name.
63 The ash code will be built into busybox. If you don't select
64 "ash" choice (CONFIG_ASH), this shell may only be invoked by
65 the name 'bash' (and not 'ash').
67 config BUSYBOX_CONFIG_BASH_IS_HUSH
70 Choose hush to be the shell executed by 'bash' name.
71 The hush code will be built into busybox. If you don't select
72 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
73 the name 'bash' (and not 'hush').
75 config BUSYBOX_CONFIG_BASH_IS_NONE
81 config BUSYBOX_CONFIG_ASH
83 default BUSYBOX_DEFAULT_ASH
84 depends on !BUSYBOX_CONFIG_NOMMU
86 The most complete and most pedantically correct shell included with
87 busybox. This shell is actually a derivative of the Debian 'dash'
88 shell (by Herbert Xu), which was created by porting the 'ash' shell
89 (written by Kenneth Almquist) from NetBSD.
92 # note: Don't remove !NOMMU part in the next line; it would break
93 # menuconfig's indenting.
94 if !NOMMU && (BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
96 config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
97 bool "Optimize for size instead of speed"
98 default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
99 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
101 config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
102 bool "Use internal glob() implementation"
103 default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
104 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
106 Do not use glob() function from libc, use internal implementation.
107 Use this if you are getting "glob.h: No such file or directory"
108 or similar build errors.
109 Note that as of now (2017-01), uclibc and musl glob() both have bugs
110 which would break ash if you select N here.
112 config BUSYBOX_CONFIG_ASH_BASH_COMPAT
113 bool "bash-compatible extensions"
114 default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
115 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
117 config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
118 bool "'source' and '.' builtins search current directory after $PATH"
119 default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
120 depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
122 This is not compliant with standards. Avoid if possible.
124 config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
125 bool "command_not_found_handle hook support"
126 default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
127 depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
129 Enable support for the 'command_not_found_handle' hook function,
130 from GNU bash, which allows for alternative command not found
133 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
135 default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
136 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
138 config BUSYBOX_CONFIG_ASH_ALIAS
140 default BUSYBOX_DEFAULT_ASH_ALIAS
141 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
143 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
144 bool "Pseudorandom generator and $RANDOM variable"
145 default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
146 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
148 Enable pseudorandom generator and dynamic variable "$RANDOM".
149 Each read of "$RANDOM" will generate a new pseudorandom value.
150 You can reset the generator by using a specified start value.
151 After "unset RANDOM" the generator will switch off and this
152 variable will no longer have special treatment.
154 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
155 bool "Expand prompt string"
156 default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
157 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
159 $PS# may contain volatile content, such as backquote commands.
160 This option recreates the prompt string from the environment
161 variable each time it is displayed.
163 config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
164 bool "Idle timeout variable $TMOUT"
165 default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
166 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
168 Enable bash-like auto-logout after $TMOUT seconds of idle time.
170 config BUSYBOX_CONFIG_ASH_MAIL
171 bool "Check for new mail in interactive shell"
172 default BUSYBOX_DEFAULT_ASH_MAIL
173 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
175 Enable "check for new mail" function:
176 if set, $MAIL file and $MAILPATH list of files
177 are checked for mtime changes, and "you have mail"
178 message is printed if change is detected.
180 config BUSYBOX_CONFIG_ASH_ECHO
182 default BUSYBOX_DEFAULT_ASH_ECHO
183 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
185 config BUSYBOX_CONFIG_ASH_PRINTF
186 bool "printf builtin"
187 default BUSYBOX_DEFAULT_ASH_PRINTF
188 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
190 config BUSYBOX_CONFIG_ASH_TEST
192 default BUSYBOX_DEFAULT_ASH_TEST
193 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
195 config BUSYBOX_CONFIG_ASH_HELP
197 default BUSYBOX_DEFAULT_ASH_HELP
198 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
200 config BUSYBOX_CONFIG_ASH_GETOPTS
201 bool "getopts builtin"
202 default BUSYBOX_DEFAULT_ASH_GETOPTS
203 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
205 config BUSYBOX_CONFIG_ASH_CMDCMD
206 bool "command builtin"
207 default BUSYBOX_DEFAULT_ASH_CMDCMD
208 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
210 Enable support for the 'command' builtin, which allows
211 you to run the specified command or builtin,
212 even when there is a function with the same name.
215 config BUSYBOX_CONFIG_CTTYHACK
216 bool "cttyhack (2.4 kb)"
217 default BUSYBOX_DEFAULT_CTTYHACK
219 One common problem reported on the mailing list is the "can't
220 access tty; job control turned off" error message, which typically
221 appears when one tries to use a shell with stdin/stdout on
223 This device is special - it cannot be a controlling tty.
225 The proper solution is to use the correct device instead of
228 cttyhack provides a "quick and dirty" solution to this problem.
229 It analyzes stdin with various ioctls, trying to determine whether
230 it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
231 On Linux it also checks sysfs for a pointer to the active console.
232 If cttyhack is able to find the real console device, it closes
233 stdin/out/err and reopens that device.
234 Then it executes the given program. Opening the device will make
235 that device a controlling tty. This may require cttyhack
236 to be a session leader.
238 Example for /etc/inittab (for busybox init):
240 ::respawn:/bin/cttyhack /bin/sh
242 Starting an interactive shell from boot shell script:
246 Giving controlling tty to shell running with PID 1:
250 Without cttyhack, you need to know exact tty name,
251 and do something like this:
253 # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
255 Starting getty on a controlling tty from a shell script:
257 # getty 115200 $(cttyhack)
258 config BUSYBOX_CONFIG_HUSH
260 default BUSYBOX_DEFAULT_HUSH
262 hush is a small shell. It handles the normal flow control
263 constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
264 case/esac. Redirections, here documents, $((arithmetic))
265 and functions are supported.
267 It will compile and work on no-mmu systems.
269 It does not handle select, aliases, tilde expansion,
270 &>file and >&file redirection of stdout+stderr.
272 config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
273 bool "bash-compatible extensions"
274 default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
275 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
277 config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
278 bool "Brace expansion"
279 default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
280 depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
282 Enable {abc,def} extension.
284 config BUSYBOX_CONFIG_HUSH_LINENO_VAR
285 bool "$LINENO variable"
286 default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
287 depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
289 config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
290 bool "'source' and '.' builtins search current directory after $PATH"
291 default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
292 depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
294 This is not compliant with standards. Avoid if possible.
296 config BUSYBOX_CONFIG_HUSH_INTERACTIVE
297 bool "Interactive mode"
298 default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
299 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
301 Enable interactive mode (prompt and command editing).
302 Without this, hush simply reads and executes commands
303 from stdin just like a shell script from a file.
304 No prompt, no PS1/PS2 magic shell variables.
306 config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
307 bool "Save command history to .hush_history"
308 default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
309 depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
311 config BUSYBOX_CONFIG_HUSH_JOB
313 default BUSYBOX_DEFAULT_HUSH_JOB
314 depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
316 Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
317 command (not entire shell), fg/bg builtins work. Without this option,
318 "cmd &" still works by simply spawning a process and immediately
319 prompting for next command (or executing next command in a script),
320 but no separate process group is formed.
322 config BUSYBOX_CONFIG_HUSH_TICK
323 bool "Support command substitution"
324 default BUSYBOX_DEFAULT_HUSH_TICK
325 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
327 Enable `command` and $(command).
329 config BUSYBOX_CONFIG_HUSH_IF
330 bool "Support if/then/elif/else/fi"
331 default BUSYBOX_DEFAULT_HUSH_IF
332 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
334 config BUSYBOX_CONFIG_HUSH_LOOPS
335 bool "Support for, while and until loops"
336 default BUSYBOX_DEFAULT_HUSH_LOOPS
337 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
339 config BUSYBOX_CONFIG_HUSH_CASE
340 bool "Support case ... esac statement"
341 default BUSYBOX_DEFAULT_HUSH_CASE
342 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
344 Enable case ... esac statement. +400 bytes.
346 config BUSYBOX_CONFIG_HUSH_FUNCTIONS
347 bool "Support funcname() { commands; } syntax"
348 default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
349 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
351 Enable support for shell functions. +800 bytes.
353 config BUSYBOX_CONFIG_HUSH_LOCAL
355 default BUSYBOX_DEFAULT_HUSH_LOCAL
356 depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
358 Enable support for local variables in functions.
360 config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
361 bool "Pseudorandom generator and $RANDOM variable"
362 default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
363 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
365 Enable pseudorandom generator and dynamic variable "$RANDOM".
366 Each read of "$RANDOM" will generate a new pseudorandom value.
368 config BUSYBOX_CONFIG_HUSH_MODE_X
369 bool "Support 'hush -x' option and 'set -x' command"
370 default BUSYBOX_DEFAULT_HUSH_MODE_X
371 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
373 This instructs hush to print commands before execution.
376 config BUSYBOX_CONFIG_HUSH_ECHO
378 default BUSYBOX_DEFAULT_HUSH_ECHO
379 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
381 config BUSYBOX_CONFIG_HUSH_PRINTF
382 bool "printf builtin"
383 default BUSYBOX_DEFAULT_HUSH_PRINTF
384 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
386 config BUSYBOX_CONFIG_HUSH_TEST
388 default BUSYBOX_DEFAULT_HUSH_TEST
389 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
391 config BUSYBOX_CONFIG_HUSH_HELP
393 default BUSYBOX_DEFAULT_HUSH_HELP
394 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
396 config BUSYBOX_CONFIG_HUSH_EXPORT
397 bool "export builtin"
398 default BUSYBOX_DEFAULT_HUSH_EXPORT
399 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
401 config BUSYBOX_CONFIG_HUSH_EXPORT_N
402 bool "Support 'export -n' option"
403 default BUSYBOX_DEFAULT_HUSH_EXPORT_N
404 depends on BUSYBOX_CONFIG_HUSH_EXPORT
406 export -n unexports variables. It is a bash extension.
408 config BUSYBOX_CONFIG_HUSH_READONLY
409 bool "readonly builtin"
410 default BUSYBOX_DEFAULT_HUSH_READONLY
411 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
413 Enable support for read-only variables.
415 config BUSYBOX_CONFIG_HUSH_KILL
416 bool "kill builtin (supports kill %jobspec)"
417 default BUSYBOX_DEFAULT_HUSH_KILL
418 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
420 config BUSYBOX_CONFIG_HUSH_WAIT
422 default BUSYBOX_DEFAULT_HUSH_WAIT
423 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
425 config BUSYBOX_CONFIG_HUSH_COMMAND
426 bool "command builtin"
427 default BUSYBOX_DEFAULT_HUSH_COMMAND
428 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
430 config BUSYBOX_CONFIG_HUSH_TRAP
432 default BUSYBOX_DEFAULT_HUSH_TRAP
433 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
435 config BUSYBOX_CONFIG_HUSH_TYPE
437 default BUSYBOX_DEFAULT_HUSH_TYPE
438 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
440 config BUSYBOX_CONFIG_HUSH_TIMES
442 default BUSYBOX_DEFAULT_HUSH_TIMES
443 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
445 config BUSYBOX_CONFIG_HUSH_READ
447 default BUSYBOX_DEFAULT_HUSH_READ
448 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
450 config BUSYBOX_CONFIG_HUSH_SET
452 default BUSYBOX_DEFAULT_HUSH_SET
453 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
455 config BUSYBOX_CONFIG_HUSH_UNSET
457 default BUSYBOX_DEFAULT_HUSH_UNSET
458 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
460 config BUSYBOX_CONFIG_HUSH_ULIMIT
461 bool "ulimit builtin"
462 default BUSYBOX_DEFAULT_HUSH_ULIMIT
463 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
465 config BUSYBOX_CONFIG_HUSH_UMASK
467 default BUSYBOX_DEFAULT_HUSH_UMASK
468 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
470 config BUSYBOX_CONFIG_HUSH_GETOPTS
471 bool "getopts builtin"
472 default BUSYBOX_DEFAULT_HUSH_GETOPTS
473 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
475 config BUSYBOX_CONFIG_HUSH_MEMLEAK
476 bool "memleak builtin (debugging)"
477 default BUSYBOX_DEFAULT_HUSH_MEMLEAK
478 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
481 comment "Options common to all shells"
482 if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
484 config BUSYBOX_CONFIG_FEATURE_SH_MATH
485 bool "POSIX math support"
486 default BUSYBOX_DEFAULT_FEATURE_SH_MATH
487 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
489 Enable math support in the shell via $((...)) syntax.
491 config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
492 bool "Extend POSIX math support to 64 bit"
493 default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
494 depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
496 Enable 64-bit math support in the shell. This will make the shell
497 slightly larger, but will allow computation with very large numbers.
498 This is not in POSIX, so do not rely on this in portable code.
500 config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE
501 bool "Support BASE#nnnn literals"
502 default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
503 depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
505 config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
506 bool "Hide message on interactive shell startup"
507 default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
508 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
510 Remove the busybox introduction when starting a shell.
512 config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
513 bool "Standalone shell"
514 default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
515 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
517 This option causes busybox shells to use busybox applets
518 in preference to executables in the PATH whenever possible. For
519 example, entering the command 'ifconfig' into the shell would cause
520 busybox to use the ifconfig busybox applet. Specifying the fully
521 qualified executable name, such as '/sbin/ifconfig' will still
522 execute the /sbin/ifconfig executable on the filesystem. This option
523 is generally used when creating a statically linked version of busybox
524 for use as a rescue shell, in the event that you screw up your system.
526 This is implemented by re-execing /proc/self/exe (typically)
527 with right parameters.
529 However, there are drawbacks: it is problematic in chroot jails
530 without mounted /proc, and ps/top may show command name as 'exe'
531 for applets started this way.
533 config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
534 bool "Run 'nofork' applets directly"
535 default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
536 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
538 This option causes busybox shells to not execute typical
539 fork/exec/wait sequence, but call <applet>_main directly,
540 if possible. (Sometimes it is not possible: for example,
541 this is not possible in pipes).
543 This will be done only for some applets (those which are marked
544 NOFORK in include/applets.h).
546 This may significantly speed up some shell scripts.
548 This feature is relatively new. Use with care. Report bugs
549 to project mailing list.
551 config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
552 bool "read -t N.NNN support (+110 bytes)"
553 default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
554 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
556 Enable support for fractional second timeout in read builtin.
558 config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
559 bool "Use $HISTFILESIZE"
560 default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
561 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
563 This option makes busybox shells to use $HISTFILESIZE variable
564 to set shell history size. Note that its max value is capped
565 by "History size" setting in library tuning section.
567 config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
568 bool "Embed scripts in the binary"
569 default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
570 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
572 Allow scripts to be compressed and embedded in the busybox
573 binary. The scripts should be placed in the 'embed' directory
574 at build time. Like applets, scripts can be run as
575 'busybox SCRIPT ...' or by linking their name to the binary.
577 This also allows applets to be implemented as scripts: place
578 the script in 'applets_sh' and a stub C file containing
579 configuration in the appropriate subsystem directory.
581 endif # Options common to all shells