Magellan Linux

Diff of /trunk/mkinitrd-magellan/busybox/shell/Config.in

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 815 by niro, Sat Sep 1 22:45:15 2007 UTC revision 816 by niro, Fri Apr 24 18:33:46 2009 UTC
# Line 20  config FEATURE_SH_IS_HUSH Line 20  config FEATURE_SH_IS_HUSH
20   select HUSH   select HUSH
21   bool "hush"   bool "hush"
22    
23  config FEATURE_SH_IS_LASH  ####config FEATURE_SH_IS_LASH
24   select LASH  #### select LASH
25   bool "lash"  #### bool "lash"
26    
27  config FEATURE_SH_IS_MSH  config FEATURE_SH_IS_MSH
28   select MSH   select MSH
# Line 36  endchoice Line 36  endchoice
36  config ASH  config ASH
37   bool "ash"   bool "ash"
38   default n   default n
  select TEST  
39   help   help
40    Tha 'ash' shell adds about 60k in the default configuration and is    Tha 'ash' shell adds about 60k in the default configuration and is
41    the most complete and most pedantically correct shell included with    the most complete and most pedantically correct shell included with
42    busybox.  This shell is actually a derivative of the Debian 'dash'    busybox. This shell is actually a derivative of the Debian 'dash'
43    shell (by Herbert Xu), which was created by porting the 'ash' shell    shell (by Herbert Xu), which was created by porting the 'ash' shell
44    (written by Kenneth Almquist) from NetBSD.    (written by Kenneth Almquist) from NetBSD.
45    
46  comment "Ash Shell Options"  comment "Ash Shell Options"
47   depends on ASH   depends on ASH
48    
49    config ASH_BASH_COMPAT
50     bool "bash-compatible extensions"
51     default y
52     depends on ASH
53     help
54      Enable bash-compatible extensions.
55    
56  config ASH_JOB_CONTROL  config ASH_JOB_CONTROL
57   bool "Job control"   bool "Job control"
58   default y   default y
# Line 63  config ASH_READ_NCHARS Line 69  config ASH_READ_NCHARS
69    'read -s' will read without echoing the user's input.    'read -s' will read without echoing the user's input.
70    
71  config ASH_READ_TIMEOUT  config ASH_READ_TIMEOUT
72   bool "'read -t S' support."   bool "'read -t S' support"
73   default n   default n
74   depends on ASH   depends on ASH
75   help   help
# Line 90  config ASH_MATH_SUPPORT_64 Line 96  config ASH_MATH_SUPPORT_64
96   default n   default n
97   depends on ASH_MATH_SUPPORT   depends on ASH_MATH_SUPPORT
98   help   help
99    Enable 64-bit math support in the ash shell.  This will make    Enable 64-bit math support in the ash shell. This will make
100    the shell slightly larger, but will allow computation with very    the shell slightly larger, but will allow computation with very
101    large numbers.    large numbers.
102    
# Line 104  config ASH_GETOPTS Line 110  config ASH_GETOPTS
110  config ASH_BUILTIN_ECHO  config ASH_BUILTIN_ECHO
111   bool "Builtin version of 'echo'"   bool "Builtin version of 'echo'"
112   default y   default y
  select ECHO  
113   depends on ASH   depends on ASH
114   help   help
115    Enable support for echo, built in to ash.    Enable support for echo, builtin to ash.
116    
117    config ASH_BUILTIN_PRINTF
118     bool "Builtin version of 'printf'"
119     default y
120     depends on ASH
121     help
122      Enable support for printf, builtin to ash.
123    
124  config ASH_BUILTIN_TEST  config ASH_BUILTIN_TEST
125   bool "Builtin version of 'test'"   bool "Builtin version of 'test'"
126   default y   default y
  select TEST  
127   depends on ASH   depends on ASH
128   help   help
129    Enable support for test, built in to ash.    Enable support for test, builtin to ash.
130    
131  config ASH_CMDCMD  config ASH_CMDCMD
132   bool "'command' command to override shell builtins"   bool "'command' command to override shell builtins"
# Line 163  config ASH_EXPAND_PRMT Line 174  config ASH_EXPAND_PRMT
174  config HUSH  config HUSH
175   bool "hush"   bool "hush"
176   default n   default n
  select TRUE  
  select FALSE  
  select TEST  
177   help   help
178    hush is a very small shell (just 18k) and it has fairly complete    hush is a very small shell (just 18k) and it has fairly complete
179    Bourne shell grammar.  It even handles all the normal flow control    Bourne shell grammar. It even handles all the normal flow control
180    options such as if/then/elif/else/fi, for/in/do/done, while loops,    options such as if/then/elif/else/fi, for/in/do/done, while loops,
181    etc.    case/esac.
182    
183    It does not handle case/esac, select, function, here documents ( <<    It uses only vfork, so it can be used on uClinux systems.
184    
185      It does not handle select, functions, here documents ( <<
186    word ), arithmetic expansion, aliases, brace expansion, tilde    word ), arithmetic expansion, aliases, brace expansion, tilde
187    expansion, &> and >& redirection of stdout+stderr, etc.    expansion, &> and >& redirection of stdout+stderr, etc.
188    
189    config HUSH_HELP
190     bool "help builtin"
191     default n
192     depends on HUSH
193     help
194      Enable help builtin in hush. Code size + ~1 kbyte.
195    
196    config HUSH_INTERACTIVE
197     bool "Interactive mode"
198     default y
199     depends on HUSH
200     help
201      Enable interactive mode (prompt and command editing).
202      Without this, hush simply reads and executes commands
203      from stdin just like a shell script from the file.
204      No prompt, no PS1/PS2 magic shell variables.
205    
206    config HUSH_JOB
207     bool "Job control"
208     default n
209     depends on HUSH_INTERACTIVE
210     help
211      Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
212      command (not entire shell), fg/bg builtins work. Without this option,
213      "cmd &" still works by simply spawning a process and immediately
214      prompting for next command (or executing next command in a script),
215      but no separate process group is formed.
216    
217    config HUSH_TICK
218     bool "Process substitution"
219     default n
220     depends on HUSH
221     help
222      Enable process substitution `command` and $(command) in hush.
223    
224    config HUSH_IF
225     bool "Support if/then/elif/else/fi"
226     default n
227     depends on HUSH
228     help
229      Enable if/then/elif/else/fi in hush.
230    
231    config HUSH_LOOPS
232     bool "Support for, while and until loops"
233     default n
234     depends on HUSH
235     help
236      Enable for, while and until loops in hush.
237      As of 2008-07, break and continue statements are not supported.
238    
239    config HUSH_CASE
240     bool "Support case ... esac statement"
241     default n
242     depends on HUSH
243     help
244      Enable case ... esac statement in hush. +400 bytes.
245    
246  config LASH  config LASH
247   bool "lash"   bool "lash"
248   default n   default n
249   select TRUE   select HUSH
250   select FALSE   help
251   select TEST    lash is deprecated and will be removed, please migrate to hush.
  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.  
   
252    
253  config MSH  config MSH
254   bool "msh"   bool "msh"
255   default n   default n
  select TRUE  
  select FALSE  
  select TEST  
256   help   help
257    The minix shell (adds just 30k) is quite complete and handles things    The minix shell (adds just 30k) is quite complete and handles things
258    like for/do/done, case/esac and all the things you expect a Bourne    like for/do/done, case/esac and all the things you expect a Bourne
259    shell to do.  It is not always pedantically correct about Bourne    shell to do. It is not always pedantically correct about Bourne
260    shell grammar (try running the shell testscript "tests/sh.testcases"    shell grammar (try running the shell testscript "tests/sh.testcases"
261    on it and compare vs bash) but for most things it works quite well.    on it and compare vs bash) but for most things it works quite well.
262    It also uses only vfork, so it can be used on uClinux systems.    It uses only vfork, so it can be used on uClinux systems.
263    
264  comment "Bourne Shell Options"  comment "Bourne Shell Options"
265   depends on MSH || LASH || HUSH || ASH   depends on MSH || LASH || HUSH || ASH
# Line 216  config FEATURE_SH_EXTRA_QUIET Line 271  config FEATURE_SH_EXTRA_QUIET
271   help   help
272    Remove the busybox introduction when starting a shell.    Remove the busybox introduction when starting a shell.
273    
274  config FEATURE_SH_STANDALONE_SHELL  config FEATURE_SH_STANDALONE
275   bool "Standalone shell"   bool "Standalone shell"
276   default n   default n
277   depends on MSH || LASH || HUSH || ASH   depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS
278   help   help
279    This option causes the selected busybox shell to use busybox applets    This option causes busybox shells to use busybox applets
280    in preference to executables in the PATH whenever possible.  For    in preference to executables in the PATH whenever possible. For
281    example, entering the command 'ifconfig' into the shell would cause    example, entering the command 'ifconfig' into the shell would cause
282    busybox to use the ifconfig busybox applet.  Specifying the fully    busybox to use the ifconfig busybox applet. Specifying the fully
283    qualified executable name, such as '/sbin/ifconfig' will still    qualified executable name, such as '/sbin/ifconfig' will still
284    execute the /sbin/ifconfig executable on the filesystem.  This option    execute the /sbin/ifconfig executable on the filesystem. This option
285    is generally used when creating a statically linked version of busybox    is generally used when creating a statically linked version of busybox
286    for use as a rescue shell, in the event that you screw up your system.    for use as a rescue shell, in the event that you screw up your system.
287    
288    Note that this will *also* cause applets to take precedence    This is implemented by re-execing /proc/self/exe (typically)
289    over shell builtins of the same name.  So turning this on will    with right parameters. Some selected applets ("NOFORK" applets)
290    eliminate any performance gained by turning on the builtin "echo"    can even be executed without creating new process.
291    and "test" commands in ash.    Instead, busybox will call <applet>_main() internally.
292    
293    Note that when using this option, the shell will attempt to directly    However, this causes problems in chroot jails without mounted /proc
294    run '/bin/busybox'.  If you do not have the busybox binary sitting in    and with ps/top (command name can be shown as 'exe' for applets
295    that exact location with that exact name, this option will not work at    started this way).
296    all.  # untrue?
297    #  Note that this will *also* cause applets to take precedence
298  config FEATURE_COMMAND_EDITING  #  over shell builtins of the same name. So turning this on will
299   bool "Command line editing"  #  eliminate any performance gained by turning on the builtin "echo"
300   default n  #  and "test" commands in ash.
301   depends on MSH || LASH || HUSH || ASH  # untrue?
302   help  #  Note that when using this option, the shell will attempt to directly
303    Enable command editing in shell.  #  run '/bin/busybox'. If you do not have the busybox binary sitting in
304    #  that exact location with that exact name, this option will not work at
305  config FEATURE_COMMAND_EDITING_VI  #  all.
306   bool "vi-style line editing commands"  
307   default n  config FEATURE_SH_NOFORK
308   depends on FEATURE_COMMAND_EDITING   bool "Run 'nofork' applets directly"
309   help   default n
310    Enable vi-style line editing in the shell.  This mode can be   depends on (MSH || LASH || HUSH || ASH) && FEATURE_PREFER_APPLETS
311    turned on and off with "set -o vi" and "set +o vi".   help
312      This option causes busybox shells [currently only ash]
313      to not execute typical fork/exec/wait sequence, but call <applet>_main
314      directly, if possible. (Sometimes it is not possible: for example,
315      this is not possible in pipes).
316    
317      This will be done only for some applets (those which are marked
318      NOFORK in include/applets.h).
319    
320      This may significantly speed up some shell scripts.
321    
322      This feature is relatively new. Use with care.
323    
324    config CTTYHACK
325     bool "cttyhack"
326     default n
327     help
328      One common problem reported on the mailing list is "can't access tty;
329      job control turned off" error message which typically appears when
330      one tries to use shell with stdin/stdout opened to /dev/console.
331      This device is special - it cannot be a controlling tty.
332    
333      Proper solution is to use correct device instead of /dev/console.
334    
335      cttyhack provides "quick and dirty" solution to this problem.
336      It analyzes stdin with various ioctls, trying to determine whether
337      it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
338      If it detects one, it closes stdin/out/err and reopens that device.
339      Then it executes given program. Usage example for /etc/inittab
340      (for busybox init):
341    
342  config FEATURE_COMMAND_HISTORY    ::respawn:/bin/cttyhack /bin/sh
  int "History size"  
  range 0 99999  
  default 15  
  depends on FEATURE_COMMAND_EDITING  
  help  
   Specify command history size in shell.  
   
 config FEATURE_COMMAND_SAVEHISTORY  
  bool "History saving"  
  default n  
  depends on ASH && FEATURE_COMMAND_EDITING  
  help  
   Enable history saving in ash shell.  
   
 config FEATURE_COMMAND_TAB_COMPLETION  
  bool "Tab completion"  
  default n  
  depends on FEATURE_COMMAND_EDITING  
  help  
   Enable tab completion in shell.  
   
 config FEATURE_COMMAND_USERNAME_COMPLETION  
  bool "Username completion"  
  default n  
  depends on FEATURE_COMMAND_TAB_COMPLETION  
  help  
   Enable username completion in shell.  
   
 config FEATURE_SH_FANCY_PROMPT  
  bool "Fancy shell prompts"  
  default n  
  depends on FEATURE_COMMAND_EDITING  
  help  
   Setting this option allows for prompts to use things like \w and  
   \$ and also using escape codes.  
343    
344  endmenu  endmenu

Legend:
Removed from v.815  
changed lines
  Added in v.816