| # |
| # For a description of the syntax of this configuration file, |
| # see docs/Kconfig-language.txt. |
| # |
| |
| menu "Shells" |
| |
| |
| choice |
| prompt "Choose which shell is aliased to 'sh' name" |
| default SH_IS_ASH |
| help |
| Choose which shell you want to be executed by 'sh' alias. |
| The ash shell is the most bash compatible and full featured one. |
| |
| # note: cannot use "select ASH" here, it breaks "make allnoconfig" |
| config SH_IS_ASH |
| depends on !NOMMU |
| bool "ash" |
| help |
| Choose ash to be the shell executed by 'sh' name. |
| The ash code will be built into busybox. If you don't select |
| "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| the name 'sh' (and not 'ash'). |
| |
| config SH_IS_HUSH |
| bool "hush" |
| help |
| Choose hush to be the shell executed by 'sh' name. |
| The hush code will be built into busybox. If you don't select |
| "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| the name 'sh' (and not 'hush'). |
| |
| config SH_IS_NONE |
| bool "none" |
| |
| endchoice |
| |
| choice |
| prompt "Choose which shell is aliased to 'bash' name" |
| default BASH_IS_NONE |
| help |
| Choose which shell you want to be executed by 'bash' alias. |
| The ash shell is the most bash compatible and full featured one, |
| although compatibility is far from being complete. |
| |
| Note that selecting this option does not switch on any bash |
| compatibility code. It merely makes it possible to install |
| /bin/bash (sym)link and run scripts which start with |
| #!/bin/bash line. |
| |
| Many systems use it in scripts which use bash-specific features, |
| even simple ones like $RANDOM. Without this option, busybox |
| can't be used for running them because it won't recongnize |
| "bash" as a supported applet name. |
| |
| config BASH_IS_ASH |
| depends on !NOMMU |
| bool "ash" |
| help |
| Choose ash to be the shell executed by 'bash' name. |
| The ash code will be built into busybox. If you don't select |
| "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| the name 'bash' (and not 'ash'). |
| |
| config BASH_IS_HUSH |
| bool "hush" |
| help |
| Choose hush to be the shell executed by 'bash' name. |
| The hush code will be built into busybox. If you don't select |
| "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| the name 'bash' (and not 'hush'). |
| |
| config BASH_IS_NONE |
| bool "none" |
| |
| endchoice |
| |
| |
| INSERT |
| |
| |
| comment "Options common to all shells" |
| if ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| |
| config FEATURE_SH_MATH |
| bool "POSIX math support" |
| default y |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| Enable math support in the shell via $((...)) syntax. |
| |
| config FEATURE_SH_MATH_64 |
| bool "Extend POSIX math support to 64 bit" |
| default y |
| depends on FEATURE_SH_MATH |
| help |
| Enable 64-bit math support in the shell. This will make the shell |
| slightly larger, but will allow computation with very large numbers. |
| This is not in POSIX, so do not rely on this in portable code. |
| |
| config FEATURE_SH_MATH_BASE |
| bool "Support BASE#nnnn literals" |
| default y |
| depends on FEATURE_SH_MATH |
| |
| config FEATURE_SH_EXTRA_QUIET |
| bool "Hide message on interactive shell startup" |
| default y |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| Remove the busybox introduction when starting a shell. |
| |
| config FEATURE_SH_STANDALONE |
| bool "Standalone shell" |
| default n |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| This option causes busybox shells to use busybox applets |
| in preference to executables in the PATH whenever possible. For |
| example, entering the command 'ifconfig' into the shell would cause |
| busybox to use the ifconfig busybox applet. Specifying the fully |
| qualified executable name, such as '/sbin/ifconfig' will still |
| execute the /sbin/ifconfig executable on the filesystem. This option |
| is generally used when creating a statically linked version of busybox |
| for use as a rescue shell, in the event that you screw up your system. |
| |
| This is implemented by re-execing /proc/self/exe (typically) |
| with right parameters. |
| |
| However, there are drawbacks: it is problematic in chroot jails |
| without mounted /proc, and ps/top may show command name as 'exe' |
| for applets started this way. |
| |
| config FEATURE_SH_NOFORK |
| bool "Run 'nofork' applets directly" |
| default n |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| This option causes busybox shells to not execute typical |
| fork/exec/wait sequence, but call <applet>_main directly, |
| if possible. (Sometimes it is not possible: for example, |
| this is not possible in pipes). |
| |
| This will be done only for some applets (those which are marked |
| NOFORK in include/applets.h). |
| |
| This may significantly speed up some shell scripts. |
| |
| This feature is relatively new. Use with care. Report bugs |
| to project mailing list. |
| |
| config FEATURE_SH_READ_FRAC |
| bool "read -t N.NNN support (+110 bytes)" |
| default y |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| Enable support for fractional second timeout in read builtin. |
| |
| config FEATURE_SH_HISTFILESIZE |
| bool "Use $HISTFILESIZE" |
| default y |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| This option makes busybox shells to use $HISTFILESIZE variable |
| to set shell history size. Note that its max value is capped |
| by "History size" setting in library tuning section. |
| |
| config FEATURE_SH_EMBEDDED_SCRIPTS |
| bool "Embed scripts in the binary" |
| default y |
| depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| help |
| Allow scripts to be compressed and embedded in the busybox |
| binary. The scripts should be placed in the 'embed' directory |
| at build time. Like applets, scripts can be run as |
| 'busybox SCRIPT ...' or by linking their name to the binary. |
| |
| This also allows applets to be implemented as scripts: place |
| the script in 'applets_sh' and a stub C file containing |
| configuration in the appropriate subsystem directory. |
| |
| endif # Options common to all shells |
| |
| endmenu |