|  | # | 
|  | # 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 one. | 
|  |  | 
|  | 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 derivative of 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 a very small shell (just 18k) and it has fairly complete | 
|  | Bourne shell grammar.  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 grammar.  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 grammar (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_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. | 
|  |  | 
|  | 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_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_HISTORY | 
|  | int "history size" | 
|  | default 15 | 
|  | depends on CONFIG_FEATURE_COMMAND_EDITING | 
|  | help | 
|  | Specify command history size in shell. | 
|  |  | 
|  | config CONFIG_FEATURE_COMMAND_SAVEHISTORY | 
|  | bool "history saving" | 
|  | default n | 
|  | depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING | 
|  | help | 
|  | Enable history saving in ash shell. | 
|  |  | 
|  | config CONFIG_FEATURE_COMMAND_TAB_COMPLETION | 
|  | bool "tab completion" | 
|  | default n | 
|  | depends on CONFIG_FEATURE_COMMAND_EDITING | 
|  | help | 
|  | Enable tab completion in shell. | 
|  |  | 
|  | config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION | 
|  | bool "username completion" | 
|  | default n | 
|  | depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION | 
|  | help | 
|  | Enable username completion in shell. | 
|  |  | 
|  | config CONFIG_FEATURE_SH_FANCY_PROMPT | 
|  | bool "Fancy shell prompts" | 
|  | default n | 
|  | depends on CONFIG_FEATURE_COMMAND_EDITING | 
|  | help | 
|  | Setting this option allows for prompts to use things like \w and | 
|  | \$ and also using escape codes. | 
|  |  | 
|  | endmenu |