source: freewrt/package/Config.shell@ 2314460

freewrt_1_0 freewrt_2_0
Last change on this file since 2314460 was 9a87912, checked in by Thorsten Glaser <tg@…>, 19 years ago

add the ability to choose user's default shell, too
XXX untested

git-svn-id: svn://www.freewrt.org/trunk/freewrt@439 afb5a338-a214-0410-bd46-81f09a774fd1

  • Property mode set to 100644
File size: 5.4 KB
Line 
1# $FreeWRT$
2
3comment "Shell selection"
4choice
5 prompt "Choose the default bourne shell (/bin/sh)"
6 default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
7 help
8 Choose a shell which is to be used for /bin/sh.
9 The ash shell is the most bash-compatible shell
10 and full-featured one in busybox; mksh is a bit
11 more heavy-weight but feature-complete.
12
13config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
14 select BUSYBOX_CONFIG_ASH
15 bool "ash (busybox)"
16 help
17 Tha 'ash' shell adds about 60k in the default configuration and is
18 the most complete and most pedantically correct shell included with
19 busybox. This shell is actually a derivative of the Debian 'dash'
20 shell (by Herbert Xu), which was created by porting the 'ash' shell
21 (written by Kenneth Almquist) from NetBSD.
22
23config FWRT_PACKAGE_MKSH_AS_BINSH
24 select FWRT_PACKAGE_MKSH
25 select BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
26 bool "mksh"
27 help
28 mksh is the MirBSD enhanced version of the Public Domain Korn
29 shell (pdksh), a bourne-compatible shell which is largely similar
30 to the original AT&T Korn shell. It includes bug fixes and
31 feature improvements in order to produce a modern, robust shell
32 good for interactive and especially script use. Some sh/ksh/pdksh
33 compatibility kludges have been removed.
34
35config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
36 select BUSYBOX_CONFIG_HUSH
37 bool "hush (busybox)"
38 help
39 hush is a very small shell (just 18k) and it has fairly complete
40 Bourne shell grammar. It even handles all the normal flow control
41 options such as if/then/elif/else/fi, for/in/do/done, while loops,
42 etc.
43
44 It does not handle case/esac, select, function, here documents ( <<
45 word ), arithmetic expansion, aliases, brace expansion, tilde
46 expansion, &> and >& redirection of stdout+stderr, etc.
47
48config BUSYBOX_CONFIG_FEATURE_SH_IS_LASH
49 select BUSYBOX_CONFIG_LASH
50 bool "lash (busybox)"
51 help
52 lash is the very smallest shell (adds just 10k) and it is quite
53 usable as a command prompt, but it is not suitable for any but the
54 most trivial scripting (such as an initrd that calls insmod a few
55 times) since it does not understand any Bourne shell grammar. It
56 does handle pipes, redirects, and job control though. Adding in
57 command editing makes it a very nice lightweight command prompt.
58
59config BUSYBOX_CONFIG_FEATURE_SH_IS_MSH
60 select BUSYBOX_CONFIG_MSH
61 bool "msh (busybox)"
62 help
63 The minix shell (adds just 30k) is quite complete and handles things
64 like for/do/done, case/esac and all the things you expect a Bourne
65 shell to do. It is not always pedantically correct about Bourne
66 shell grammar (try running the shell testscript "tests/sh.testcases"
67 on it and compare vs bash) but for most things it works quite well.
68 It also uses only vfork, so it can be used on uClinux systems.
69
70endchoice
71
72choice
73 prompt "Choose the login shell for admin"
74 default FWRT_BASEFILES_ADMIN_ASH
75 help
76 Choose a shell which is to be used as the default login
77 shell for the "admin" user. Only shells selected above
78 can be chosen.
79
80config FWRT_BASEFILES_ADMIN_ASH
81 depends BUSYBOX_CONFIG_ASH
82 bool "ash (busybox)"
83 help
84 Tha 'ash' shell adds about 60k in the default configuration and is
85 the most complete and most pedantically correct shell included with
86 busybox. This shell is actually a derivative of the Debian 'dash'
87 shell (by Herbert Xu), which was created by porting the 'ash' shell
88 (written by Kenneth Almquist) from NetBSD.
89
90config FWRT_BASEFILES_ADMIN_MKSH
91 depends FWRT_PACKAGE_MKSH
92 bool "mksh"
93 help
94 mksh is the MirBSD enhanced version of the Public Domain Korn
95 shell (pdksh), a bourne-compatible shell which is largely similar
96 to the original AT&T Korn shell. It includes bug fixes and
97 feature improvements in order to produce a modern, robust shell
98 good for interactive and especially script use. Some sh/ksh/pdksh
99 compatibility kludges have been removed.
100
101config FWRT_BASEFILES_ADMIN_HUSH
102 depends BUSYBOX_CONFIG_HUSH
103 bool "hush (busybox)"
104 help
105 hush is a very small shell (just 18k) and it has fairly complete
106 Bourne shell grammar. It even handles all the normal flow control
107 options such as if/then/elif/else/fi, for/in/do/done, while loops,
108 etc.
109
110 It does not handle case/esac, select, function, here documents ( <<
111 word ), arithmetic expansion, aliases, brace expansion, tilde
112 expansion, &> and >& redirection of stdout+stderr, etc.
113
114config FWRT_BASEFILES_ADMIN_LASH
115 depends BUSYBOX_CONFIG_LASH
116 bool "lash (busybox)"
117 help
118 lash is the very smallest shell (adds just 10k) and it is quite
119 usable as a command prompt, but it is not suitable for any but the
120 most trivial scripting (such as an initrd that calls insmod a few
121 times) since it does not understand any Bourne shell grammar. It
122 does handle pipes, redirects, and job control though. Adding in
123 command editing makes it a very nice lightweight command prompt.
124
125config FWRT_BASEFILES_ADMIN_MSH
126 depends BUSYBOX_CONFIG_MSH
127 bool "msh (busybox)"
128 help
129 The minix shell (adds just 30k) is quite complete and handles things
130 like for/do/done, case/esac and all the things you expect a Bourne
131 shell to do. It is not always pedantically correct about Bourne
132 shell grammar (try running the shell testscript "tests/sh.testcases"
133 on it and compare vs bash) but for most things it works quite well.
134 It also uses only vfork, so it can be used on uClinux systems.
135
136config FWRT_BASEFILES_ADMIN_SH
137 bool "/bin/sh"
138 help
139 Fall-back: use /bin/sh, whatever it is.
140
141endchoice
Note: See TracBrowser for help on using the repository browser.