traceroute: fix help text to not show -6 when traceroute6 is off
[oweals/busybox.git] / shell / Config.in
index 9b3ce64832d54a39d4c1d0f6bc462f13f85d5867..998672cfc507c72a3c6387bf08313001c9629278 100644 (file)
@@ -24,9 +24,9 @@ config FEATURE_SH_IS_HUSH
 ####   select LASH
 ####   bool "lash"
 
-config FEATURE_SH_IS_MSH
-       select MSH
-       bool "msh"
+####config FEATURE_SH_IS_MSH
+####   select MSH
+####   bool "msh"
 
 config FEATURE_SH_IS_NONE
        bool "none"
@@ -43,9 +43,6 @@ config ASH
          shell (by Herbert Xu), which was created by porting the 'ash' shell
          (written by Kenneth Almquist) from NetBSD.
 
-comment "Ash Shell Options"
-       depends on ASH
-
 config ASH_BASH_COMPAT
        bool "bash-compatible extensions"
        default y
@@ -159,16 +156,22 @@ 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,
-         case/esac.
+         hush is a small shell (22k). It handles the normal flow control
+         constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
+         case/esac. Redirections, here documents, $((arithmetic))
+         and functions are supported.
 
          It will compile and work on no-mmu systems.
 
-         It does not handle select, functions, here documents ( <<
-         word ), aliases, brace expansion, tilde expansion,
-         &> and >& redirection of stdout+stderr, etc.
+         It does not handle select, aliases, brace expansion,
+         tilde expansion, &>file and >&file redirection of stdout+stderr.
+
+config HUSH_BASH_COMPAT
+       bool "bash-compatible extensions"
+       default y
+       depends on HUSH
+       help
+         Enable bash-compatible extensions.
 
 config HUSH_HELP
        bool "help builtin"
@@ -184,7 +187,7 @@ config HUSH_INTERACTIVE
        help
          Enable interactive mode (prompt and command editing).
          Without this, hush simply reads and executes commands
-         from stdin just like a shell script from the file.
+         from stdin just like a shell script from a file.
          No prompt, no PS1/PS2 magic shell variables.
 
 config HUSH_JOB
@@ -226,6 +229,35 @@ config HUSH_CASE
        help
          Enable case ... esac statement in hush. +400 bytes.
 
+config HUSH_FUNCTIONS
+       bool "Support funcname() { commands; } syntax"
+       default n
+       depends on HUSH
+       help
+         Enable support for shell functions in hush. +800 bytes.
+
+config HUSH_LOCAL
+       bool "Support local builtin"
+       default n
+       depends on HUSH_FUNCTIONS
+       help
+         Enable support for local variables in functions.
+
+config HUSH_EXPORT_N
+       bool "Support export '-n' option"
+       default n
+       depends on HUSH
+       help
+         Enable support for export '-n' option in hush. It is a bash extension.
+
+config HUSH_RANDOM_SUPPORT
+       bool "Pseudorandom generator and $RANDOM variable"
+       default n
+       depends on HUSH
+       help
+         Enable pseudorandom generator and dynamic variable "$RANDOM".
+         Each read of "$RANDOM" will generate a new pseudorandom value.
+
 config LASH
        bool "lash (deprecated: aliased to hush)"
        default n
@@ -236,19 +268,18 @@ config LASH
 config MSH
        bool "msh (deprecated: please use hush)"
        default n
+       select HUSH
        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 uses only vfork, so it can be used on uClinux systems.
-
          msh is deprecated and will be removed, please migrate to hush.
          If there is a feature msh has but hush does not, please let us know.
 
-comment "Bourne Shell Options"
-       depends on MSH || LASH || HUSH || ASH
+#        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 uses only vfork, so it can be used on uClinux systems.
+
 
 config SH_MATH_SUPPORT
        bool "POSIX math support"