| # |
| # For a description of the syntax of this configuration file, |
| # see scripts/kbuild/config-language.txt. |
| # |
| |
| menu "Another Bourne-like Shell" |
| |
| choice |
| prompt "Choose your default shell" |
| default CONFIG_FEATURE_SH_IS_NONE |
| help |
| Choose a shell. The ash shell is the most bash compatible |
| and full featured. |
| |
| config CONFIG_FEATURE_SH_IS_ASH |
| select CONFIG_ASH |
| bool "ash" |
| |
| config CONFIG_FEATURE_SH_IS_HUSH |
| select CONFIG_HUSH |
| bool "hush" |
| |
| config CONFIG_FEATURE_SH_IS_LASH |
| select CONFIG_LASH |
| bool "lash" |
| |
| config CONFIG_FEATURE_SH_IS_MSH |
| select CONFIG_MSH |
| bool "msh" |
| |
| config CONFIG_FEATURE_SH_IS_NONE |
| bool "none" |
| |
| endchoice |
| |
| config CONFIG_ASH |
| bool "ash" |
| default y |
| help |
| Tha 'ash' shell adds about 60k in the default configuration and is |
| the most complete and most pedantically correct shell included with |
| busybox. This shell is actually a derivitive the Debian 'dash' shell |
| (by Herbert Xu), which was created by porting the 'ash' shell |
| (written by Kenneth Almquist) from NetBSD. |
| |
| comment "Ash Shell Options" |
| depends on CONFIG_ASH |
| |
| config CONFIG_ASH_JOB_CONTROL |
| bool " Enable Job control" |
| default y |
| depends on CONFIG_ASH |
| help |
| Enable job control in the ash shell. |
| |
| config CONFIG_ASH_ALIAS |
| bool " Enable alias support" |
| default y |
| depends on CONFIG_ASH |
| help |
| Enable alias support in the ash shell. |
| |
| config CONFIG_ASH_MATH_SUPPORT |
| bool " Enable Posix math support" |
| default y |
| depends on CONFIG_ASH |
| help |
| Enable math support in the ash shell. |
| |
| config CONFIG_ASH_GETOPTS |
| bool " Enable getopt builtin to parse positional parameters" |
| default n |
| depends on CONFIG_ASH |
| help |
| Enable builtin getopt in the ash shell. |
| |
| config CONFIG_ASH_CMDCMD |
| bool " Enable cmdcmd to override shell builtins" |
| default n |
| depends on CONFIG_ASH |
| help |
| Enable support for the ash 'command' builtin, which allows |
| you to run the specified command with the specified arguments, |
| even when there is an ash builtin command with the same name. |
| |
| config CONFIG_ASH_MAIL |
| bool " Check for new mail on interactive shells" |
| default y |
| depends on CONFIG_ASH |
| help |
| Enable "check for new mail" in the ash shell. |
| |
| config CONFIG_ASH_OPTIMIZE_FOR_SIZE |
| bool " Optimize for size instead of speed" |
| default y |
| depends on CONFIG_ASH |
| help |
| Compile ash for reduced size at price of speed. |
| |
| config CONFIG_HUSH |
| bool "hush" |
| default n |
| help |
| hush is very small shell (just 18k) and it has fairly complete Bourne |
| shell grammer. It even handles all the normal flow control options |
| such as if/then/elif/else/fi, for/in/do/done, while loops, etc. |
| |
| It does not handle case/esac, select, function, here documents ( << |
| word ), arithmetic expansion, aliases, brace expansion, tilde |
| expansion, &> and >& redirection of stdout+stderr, etc. |
| |
| |
| config CONFIG_LASH |
| bool "lash" |
| default n |
| help |
| lash is the very smallest shell (adds just 10k) and it is quite |
| usable as a command prompt, but it is not suitable for any but the |
| most trivial scripting (such as an initrd that calls insmod a few |
| times) since it does not understand any Bourne shell grammer. It |
| does handle pipes, redirects, and job control though. Adding in |
| command editing makes it a very nice lightweight command prompt. |
| |
| |
| config CONFIG_MSH |
| bool "msh" |
| default n |
| help |
| The minix shell (adds just 30k) is quite complete and handles things |
| like for/do/done, case/esac and all the things you expect a Bourne |
| shell to do. It is not always pedantically correct about Bourne |
| shell grammer (try running the shell testscript "tests/sh.testcases" |
| on it and compare vs bash) but for most things it works quite well. |
| It also uses only vfork, so it can be used on uClinux systems. |
| |
| comment "Bourne Shell Options" |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| |
| config CONFIG_FEATURE_COMMAND_EDITING |
| bool "command line editing" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Enable command editing in shell. |
| |
| config CONFIG_FEATURE_COMMAND_SAVEHISTORY |
| bool " history saving" |
| default n |
| depends on CONFIG_ASH |
| help |
| Enable history saving in ash shell. |
| |
| config CONFIG_FEATURE_COMMAND_TAB_COMPLETION |
| bool "tab completion" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Enable tab completion in shell. |
| |
| config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION |
| bool "username completion" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Enable username completion in shell. |
| |
| config CONFIG_FEATURE_COMMAND_HISTORY |
| int "history size" |
| default 15 |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Specify command history size in shell. |
| |
| config CONFIG_FEATURE_SH_STANDALONE_SHELL |
| bool "Standalone shell" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Have all the busybox commands built into the shell, creating |
| a standalone shell. |
| |
| config CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN |
| bool "Standalone shell -- applets always win" |
| default n |
| depends on CONFIG_FEATURE_SH_STANDALONE_SHELL |
| help |
| Use a command builtin to the shell over one with the same name, |
| that may be on the system. |
| |
| config CONFIG_FEATURE_SH_FANCY_PROMPT |
| bool "Fancy shell prompts" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Setting this option allows for prompts to use things like \w and |
| \$ and also using escape codes. |
| |
| config CONFIG_FEATURE_SH_EXTRA_QUIET |
| bool "Hide message on interactive shell startup" |
| default n |
| depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH |
| help |
| Remove the busybox introduction when starting a shell. |
| |
| endmenu |
| |