2 # For a description of the syntax of this configuration file,
3 # see docs/Kconfig-language.txt.
10 prompt "Choose which shell is aliased to 'sh' name"
13 Choose which shell you want to be executed by 'sh' alias.
14 The ash shell is the most bash compatible and full featured one.
16 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
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').
31 Choose hush to be the shell executed by 'sh' name.
32 The hush code will be built into busybox. If you don't select
33 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
34 the name 'sh' (and not 'hush').
42 prompt "Choose which shell is aliased to 'bash' name"
45 Choose which shell you want to be executed by 'bash' alias.
46 The ash shell is the most bash compatible and full featured one,
47 although compatibility is far from being complete.
49 Note that selecting this option does not switch on any bash
50 compatibility code. It merely makes it possible to install
51 /bin/bash (sym)link and run scripts which start with
54 Many systems use it in scripts which use bash-specific features,
55 even simple ones like $RANDOM. Without this option, busybox
56 can't be used for running them because it won't recongnize
57 "bash" as a supported applet name.
64 Choose ash to be the shell executed by 'bash' name.
65 The ash code will be built into busybox. If you don't select
66 "ash" choice (CONFIG_ASH), this shell may only be invoked by
67 the name 'bash' (and not 'ash').
73 Choose hush to be the shell executed by 'bash' name.
74 The hush code will be built into busybox. If you don't select
75 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
76 the name 'bash' (and not 'hush').
87 comment "Options common to all shells"
88 if SHELL_ASH || SHELL_HUSH
90 config FEATURE_SH_MATH
91 bool "POSIX math support"
93 depends on SHELL_ASH || SHELL_HUSH
95 Enable math support in the shell via $((...)) syntax.
97 config FEATURE_SH_MATH_64
98 bool "Extend POSIX math support to 64 bit"
100 depends on FEATURE_SH_MATH
102 Enable 64-bit math support in the shell. This will make the shell
103 slightly larger, but will allow computation with very large numbers.
104 This is not in POSIX, so do not rely on this in portable code.
106 config FEATURE_SH_MATH_BASE
107 bool "Support BASE#nnnn literals"
109 depends on FEATURE_SH_MATH
111 config FEATURE_SH_EXTRA_QUIET
112 bool "Hide message on interactive shell startup"
114 depends on SHELL_ASH || SHELL_HUSH
116 Remove the busybox introduction when starting a shell.
118 config FEATURE_SH_STANDALONE
119 bool "Standalone shell"
121 depends on SHELL_ASH || SHELL_HUSH
123 This option causes busybox shells to use busybox applets
124 in preference to executables in the PATH whenever possible. For
125 example, entering the command 'ifconfig' into the shell would cause
126 busybox to use the ifconfig busybox applet. Specifying the fully
127 qualified executable name, such as '/sbin/ifconfig' will still
128 execute the /sbin/ifconfig executable on the filesystem. This option
129 is generally used when creating a statically linked version of busybox
130 for use as a rescue shell, in the event that you screw up your system.
132 This is implemented by re-execing /proc/self/exe (typically)
133 with right parameters.
135 However, there are drawbacks: it is problematic in chroot jails
136 without mounted /proc, and ps/top may show command name as 'exe'
137 for applets started this way.
139 config FEATURE_SH_NOFORK
140 bool "Run 'nofork' applets directly"
142 depends on SHELL_ASH || SHELL_HUSH
144 This option causes busybox shells to not execute typical
145 fork/exec/wait sequence, but call <applet>_main directly,
146 if possible. (Sometimes it is not possible: for example,
147 this is not possible in pipes).
149 This will be done only for some applets (those which are marked
150 NOFORK in include/applets.h).
152 This may significantly speed up some shell scripts.
154 This feature is relatively new. Use with care. Report bugs
155 to project mailing list.
157 config FEATURE_SH_READ_FRAC
158 bool "read -t N.NNN support (+110 bytes)"
160 depends on SHELL_ASH || SHELL_HUSH
162 Enable support for fractional second timeout in read builtin.
164 config FEATURE_SH_HISTFILESIZE
165 bool "Use $HISTFILESIZE"
167 depends on SHELL_ASH || SHELL_HUSH
169 This option makes busybox shells to use $HISTFILESIZE variable
170 to set shell history size. Note that its max value is capped
171 by "History size" setting in library tuning section.
173 config FEATURE_SH_EMBEDDED_SCRIPTS
174 bool "Embed scripts in the binary"
176 depends on SHELL_ASH || SHELL_HUSH
178 Allow scripts to be compressed and embedded in the busybox
179 binary. The scripts should be placed in the 'embed' directory
180 at build time. Like applets, scripts can be run as
181 'busybox SCRIPT ...' or by linking their name to the binary.
183 This also allows applets to be implemented as scripts: place
184 the script in 'applets_sh' and a stub C file containing
185 configuration in the appropriate subsystem directory.
187 endif # Options common to all shells