Changeset 2725 in MondoRescue for branches/2.2.9/mindi-busybox/shell/Config.in
- Timestamp:
- Feb 25, 2011, 9:26:54 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2.9/mindi-busybox/shell/Config.in
r1765 r2725 1 # DO NOT EDIT. This file is generated from Config.src 1 2 # 2 3 # For a description of the syntax of this configuration file, … … 6 7 menu "Shells" 7 8 8 choice9 prompt "Choose your default shell"10 default FEATURE_SH_IS_NONE11 help12 Choose a shell. The ash shell is the most bash compatible13 and full featured one.14 15 config FEATURE_SH_IS_ASH16 select ASH17 bool "ash"18 19 config FEATURE_SH_IS_HUSH20 select HUSH21 bool "hush"22 23 config FEATURE_SH_IS_LASH24 select LASH25 bool "lash"26 27 config FEATURE_SH_IS_MSH28 select MSH29 bool "msh"30 31 config FEATURE_SH_IS_NONE32 bool "none"33 34 endchoice35 36 9 config ASH 37 10 bool "ash" 38 default n39 select TEST11 default y 12 depends on !NOMMU 40 13 help 41 14 Tha 'ash' shell adds about 60k in the default configuration and is 42 15 the most complete and most pedantically correct shell included with 43 busybox. 16 busybox. This shell is actually a derivative of the Debian 'dash' 44 17 shell (by Herbert Xu), which was created by porting the 'ash' shell 45 18 (written by Kenneth Almquist) from NetBSD. 46 19 47 comment "Ash Shell Options" 48 depends on ASH 20 config ASH_BASH_COMPAT 21 bool "bash-compatible extensions" 22 default y 23 depends on ASH 24 help 25 Enable bash-compatible extensions. 49 26 50 27 config ASH_JOB_CONTROL … … 55 32 Enable job control in the ash shell. 56 33 57 config ASH_READ_NCHARS58 bool "'read -n N' and 'read -s' support"59 default n60 depends on ASH61 help62 'read -n N' will return a value after N characters have been read.63 'read -s' will read without echoing the user's input.64 65 config ASH_READ_TIMEOUT66 bool "'read -t S' support."67 default n68 depends on ASH69 help70 'read -t S' will return a value after S seconds have passed.71 This implementation will allow fractional seconds, expressed72 as a decimal fraction, e.g. 'read -t 2.5 foo'.73 74 34 config ASH_ALIAS 75 35 bool "alias support" … … 79 39 Enable alias support in the ash shell. 80 40 81 config ASH_MATH_SUPPORT82 bool "Posix math support"83 default y84 depends on ASH85 help86 Enable math support in the ash shell.87 88 config ASH_MATH_SUPPORT_6489 bool "Extend Posix math support to 64 bit"90 default n91 depends on ASH_MATH_SUPPORT92 help93 Enable 64-bit math support in the ash shell. This will make94 the shell slightly larger, but will allow computation with very95 large numbers.96 97 41 config ASH_GETOPTS 98 42 bool "Builtin getopt to parse positional parameters" 99 default n43 default y 100 44 depends on ASH 101 45 help … … 105 49 bool "Builtin version of 'echo'" 106 50 default y 107 select ECHO108 51 depends on ASH 109 52 help 110 53 Enable support for echo, builtin to ash. 54 55 config ASH_BUILTIN_PRINTF 56 bool "Builtin version of 'printf'" 57 default y 58 depends on ASH 59 help 60 Enable support for printf, builtin to ash. 111 61 112 62 config ASH_BUILTIN_TEST 113 63 bool "Builtin version of 'test'" 114 64 default y 115 select TEST116 65 depends on ASH 117 66 help … … 120 69 config ASH_CMDCMD 121 70 bool "'command' command to override shell builtins" 122 default n71 default y 123 72 depends on ASH 124 73 help … … 129 78 config ASH_MAIL 130 79 bool "Check for new mail on interactive shells" 131 default y80 default n 132 81 depends on ASH 133 82 help … … 142 91 143 92 config ASH_RANDOM_SUPPORT 144 bool "Pseudorandom generator and variable $RANDOM"145 default n93 bool "Pseudorandom generator and $RANDOM variable" 94 default y 146 95 depends on ASH 147 96 help … … 149 98 Each read of "$RANDOM" will generate a new pseudorandom value. 150 99 You can reset the generator by using a specified start value. 151 After "unset RANDOM" the ngenerator will switch off and this100 After "unset RANDOM" the generator will switch off and this 152 101 variable will no longer have special treatment. 153 102 154 103 config ASH_EXPAND_PRMT 155 104 bool "Expand prompt string" 156 default n157 depends on ASH 158 help 159 "PS#" may becontain volatile content, such as backquote commands.105 default y 106 depends on ASH 107 help 108 "PS#" may contain volatile content, such as backquote commands. 160 109 This option recreates the prompt string from the environment 161 110 variable each time it is displayed. 162 111 112 config CTTYHACK 113 bool "cttyhack" 114 default y 115 help 116 One common problem reported on the mailing list is "can't access tty; 117 job control turned off" error message which typically appears when 118 one tries to use shell with stdin/stdout opened to /dev/console. 119 This device is special - it cannot be a controlling tty. 120 121 Proper solution is to use correct device instead of /dev/console. 122 123 cttyhack provides "quick and dirty" solution to this problem. 124 It analyzes stdin with various ioctls, trying to determine whether 125 it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). 126 If it detects one, it closes stdin/out/err and reopens that device. 127 Then it executes given program. Opening the device will make 128 that device a controlling tty. This may require cttyhack 129 to be a session leader. 130 131 Example for /etc/inittab (for busybox init): 132 133 ::respawn:/bin/cttyhack /bin/sh 134 135 Starting an interactive shell from boot shell script: 136 137 setsid cttyhack sh 138 139 Giving controlling tty to shell running with PID 1: 140 141 # exec cttyhack sh 142 143 Without cttyhack, you need to know exact tty name, 144 and do something like this: 145 146 # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' 147 163 148 config HUSH 164 149 bool "hush" 165 default n 166 select TRUE 167 select FALSE 168 select TEST 169 help 170 hush is a very small shell (just 18k) and it has fairly complete 171 Bourne shell grammar. It even handles all the normal flow control 172 options such as if/then/elif/else/fi, for/in/do/done, while loops, 173 etc. 174 175 It does not handle case/esac, select, function, here documents ( << 176 word ), arithmetic expansion, aliases, brace expansion, tilde 177 expansion, &> and >& redirection of stdout+stderr, etc. 150 default y 151 help 152 hush is a small shell (25k). It handles the normal flow control 153 constructs such as if/then/elif/else/fi, for/in/do/done, while loops, 154 case/esac. Redirections, here documents, $((arithmetic)) 155 and functions are supported. 156 157 It will compile and work on no-mmu systems. 158 159 It does not handle select, aliases, tilde expansion, 160 &>file and >&file redirection of stdout+stderr. 161 162 config HUSH_BASH_COMPAT 163 bool "bash-compatible extensions" 164 default y 165 depends on HUSH 166 help 167 Enable bash-compatible extensions. 168 169 config HUSH_BRACE_EXPANSION 170 bool "Brace expansion" 171 default y 172 depends on HUSH_BASH_COMPAT 173 help 174 Enable {abc,def} extension. 178 175 179 176 config HUSH_HELP 180 177 bool "help builtin" 181 default n178 default y 182 179 depends on HUSH 183 180 help … … 191 188 Enable interactive mode (prompt and command editing). 192 189 Without this, hush simply reads and executes commands 193 from stdin just like a shell script from thefile.190 from stdin just like a shell script from a file. 194 191 No prompt, no PS1/PS2 magic shell variables. 192 193 config HUSH_SAVEHISTORY 194 bool "Save command history to .hush_history" 195 default y 196 depends on HUSH_INTERACTIVE && FEATURE_EDITING_SAVEHISTORY 197 help 198 Enable history saving in hush. 195 199 196 200 config HUSH_JOB 197 201 bool "Job control" 198 default n202 default y 199 203 depends on HUSH_INTERACTIVE 200 204 help … … 207 211 config HUSH_TICK 208 212 bool "Process substitution" 209 default n213 default y 210 214 depends on HUSH 211 215 help … … 214 218 config HUSH_IF 215 219 bool "Support if/then/elif/else/fi" 216 default n220 default y 217 221 depends on HUSH 218 222 help … … 221 225 config HUSH_LOOPS 222 226 bool "Support for, while and until loops" 227 default y 228 depends on HUSH 229 help 230 Enable for, while and until loops in hush. 231 232 config HUSH_CASE 233 bool "Support case ... esac statement" 234 default y 235 depends on HUSH 236 help 237 Enable case ... esac statement in hush. +400 bytes. 238 239 config HUSH_FUNCTIONS 240 bool "Support funcname() { commands; } syntax" 241 default y 242 depends on HUSH 243 help 244 Enable support for shell functions in hush. +800 bytes. 245 246 config HUSH_LOCAL 247 bool "Support local builtin" 248 default y 249 depends on HUSH_FUNCTIONS 250 help 251 Enable support for local variables in functions. 252 253 config HUSH_RANDOM_SUPPORT 254 bool "Pseudorandom generator and $RANDOM variable" 255 default y 256 depends on HUSH 257 help 258 Enable pseudorandom generator and dynamic variable "$RANDOM". 259 Each read of "$RANDOM" will generate a new pseudorandom value. 260 261 config HUSH_EXPORT_N 262 bool "Support 'export -n' option" 263 default y 264 depends on HUSH 265 help 266 export -n unexports variables. It is a bash extension. 267 268 config HUSH_MODE_X 269 bool "Support 'hush -x' option and 'set -x' command" 270 default y 271 depends on HUSH 272 help 273 This instructs hush to print commands before execution. 274 Adds ~300 bytes. 275 276 config MSH 277 bool "msh (deprecated: aliased to hush)" 223 278 default n 224 depends on HUSH 225 help 226 Enable for, while and until loops in hush. 227 228 config LASH 229 bool "lash" 230 default n 231 select TRUE 232 select FALSE 233 select TEST 234 help 235 lash is the very smallest shell (adds just 10k) and it is quite 236 usable as a command prompt, but it is not suitable for any but the 237 most trivial scripting (such as an initrd that calls insmod a few 238 times) since it does not understand any Bourne shell grammar. It 239 does handle pipes, redirects, and job control though. Adding in 240 command editing makes it a very nice lightweight command prompt. 241 242 243 config MSH 244 bool "msh" 245 default n 246 select TRUE 247 select FALSE 248 select TEST 249 help 250 The minix shell (adds just 30k) is quite complete and handles things 251 like for/do/done, case/esac and all the things you expect a Bourne 252 shell to do. It is not always pedantically correct about Bourne 253 shell grammar (try running the shell testscript "tests/sh.testcases" 254 on it and compare vs bash) but for most things it works quite well. 255 It also uses only vfork, so it can be used on uClinux systems. 256 257 comment "Bourne Shell Options" 258 depends on MSH || LASH || HUSH || ASH 279 select HUSH 280 help 281 msh is deprecated and will be removed, please migrate to hush. 282 283 284 choice 285 prompt "Choose which shell is aliased to 'sh' name" 286 default FEATURE_SH_IS_ASH 287 help 288 Choose which shell you want to be executed by 'sh' alias. 289 The ash shell is the most bash compatible and full featured one. 290 291 # note: cannot use "select ASH" here, it breaks "make allnoconfig" 292 config FEATURE_SH_IS_ASH 293 depends on ASH 294 bool "ash" 295 depends on !NOMMU 296 297 config FEATURE_SH_IS_HUSH 298 depends on HUSH 299 bool "hush" 300 301 config FEATURE_SH_IS_NONE 302 bool "none" 303 304 endchoice 305 306 choice 307 prompt "Choose which shell is aliased to 'bash' name" 308 default FEATURE_BASH_IS_NONE 309 help 310 Choose which shell you want to be executed by 'bash' alias. 311 The ash shell is the most bash compatible and full featured one. 312 313 Note that selecting this option does not switch on any bash 314 compatibility code. It merely makes it possible to install 315 /bin/bash (sym)link and run scripts which start with 316 #!/bin/bash line. 317 318 Many systems use it in scripts which use bash-specific features, 319 even simple ones like $RANDOM. Without this option, busybox 320 can't be used for running them because it won't recongnize 321 "bash" as a supported applet name. 322 323 config FEATURE_BASH_IS_ASH 324 depends on ASH 325 bool "ash" 326 depends on !NOMMU 327 328 config FEATURE_BASH_IS_HUSH 329 depends on HUSH 330 bool "hush" 331 332 config FEATURE_BASH_IS_NONE 333 bool "none" 334 335 endchoice 336 337 338 config SH_MATH_SUPPORT 339 bool "POSIX math support" 340 default y 341 depends on ASH || HUSH 342 help 343 Enable math support in the shell via $((...)) syntax. 344 345 config SH_MATH_SUPPORT_64 346 bool "Extend POSIX math support to 64 bit" 347 default y 348 depends on SH_MATH_SUPPORT 349 help 350 Enable 64-bit math support in the shell. This will make the shell 351 slightly larger, but will allow computation with very large numbers. 352 This is not in POSIX, so do not rely on this in portable code. 259 353 260 354 config FEATURE_SH_EXTRA_QUIET 261 355 bool "Hide message on interactive shell startup" 262 default n263 depends on MSH || LASH ||HUSH || ASH356 default y 357 depends on HUSH || ASH 264 358 help 265 359 Remove the busybox introduction when starting a shell. … … 268 362 bool "Standalone shell" 269 363 default n 270 depends on ( MSH || LASH ||HUSH || ASH) && FEATURE_PREFER_APPLETS364 depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS 271 365 help 272 366 This option causes busybox shells to use busybox applets 273 in preference to executables in the PATH whenever possible. 367 in preference to executables in the PATH whenever possible. For 274 368 example, entering the command 'ifconfig' into the shell would cause 275 busybox to use the ifconfig busybox applet. 369 busybox to use the ifconfig busybox applet. Specifying the fully 276 370 qualified executable name, such as '/sbin/ifconfig' will still 277 execute the /sbin/ifconfig executable on the filesystem. 371 execute the /sbin/ifconfig executable on the filesystem. This option 278 372 is generally used when creating a statically linked version of busybox 279 373 for use as a rescue shell, in the event that you screw up your system. … … 289 383 # untrue? 290 384 # Note that this will *also* cause applets to take precedence 291 # over shell builtins of the same name. 385 # over shell builtins of the same name. So turning this on will 292 386 # eliminate any performance gained by turning on the builtin "echo" 293 387 # and "test" commands in ash. 294 388 # untrue? 295 389 # Note that when using this option, the shell will attempt to directly 296 # run '/bin/busybox'. 390 # run '/bin/busybox'. If you do not have the busybox binary sitting in 297 391 # that exact location with that exact name, this option will not work at 298 392 # all. 299 393 300 config CTTYHACK301 bool " cttyhack"394 config FEATURE_SH_NOFORK 395 bool "Run 'nofork' applets directly" 302 396 default n 303 help 304 One common problem reported on the mailing list is "can't access tty; 305 job control turned off" error message which typically appears when 306 one tries to use shell with stdin/stdout opened to /dev/console. 307 This device is special - it cannot be a controlling tty. 308 309 Proper solution is to use correct device instead of /dev/console. 310 311 cttyhack provides "quick and dirty" solution to this problem. 312 It analyzes stdin with various ioctls, trying to determine whether 313 it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). 314 If it detects one, it closes stdin/out/err and reopens that device. 315 Then it executes given program. Usage example for /etc/inittab 316 (for busybox init): 317 318 ::respawn:/bin/cttyhack /bin/sh 397 depends on (HUSH || ASH) && FEATURE_PREFER_APPLETS 398 help 399 This option causes busybox shells [currently only ash] 400 to not execute typical fork/exec/wait sequence, but call <applet>_main 401 directly, if possible. (Sometimes it is not possible: for example, 402 this is not possible in pipes). 403 404 This will be done only for some applets (those which are marked 405 NOFORK in include/applets.h). 406 407 This may significantly speed up some shell scripts. 408 409 This feature is relatively new. Use with care. 319 410 320 411 endmenu
Note:
See TracChangeset
for help on using the changeset viewer.