15 |
config FEATURE_SH_IS_ASH |
config FEATURE_SH_IS_ASH |
16 |
select ASH |
select ASH |
17 |
bool "ash" |
bool "ash" |
18 |
|
depends on !NOMMU |
19 |
|
|
20 |
config FEATURE_SH_IS_HUSH |
config FEATURE_SH_IS_HUSH |
21 |
select HUSH |
select HUSH |
25 |
#### select LASH |
#### select LASH |
26 |
#### bool "lash" |
#### bool "lash" |
27 |
|
|
28 |
config FEATURE_SH_IS_MSH |
####config FEATURE_SH_IS_MSH |
29 |
select MSH |
#### select MSH |
30 |
bool "msh" |
#### bool "msh" |
31 |
|
|
32 |
config FEATURE_SH_IS_NONE |
config FEATURE_SH_IS_NONE |
33 |
bool "none" |
bool "none" |
37 |
config ASH |
config ASH |
38 |
bool "ash" |
bool "ash" |
39 |
default n |
default n |
40 |
|
depends on !NOMMU |
41 |
help |
help |
42 |
Tha 'ash' shell adds about 60k in the default configuration and is |
Tha 'ash' shell adds about 60k in the default configuration and is |
43 |
the most complete and most pedantically correct shell included with |
the most complete and most pedantically correct shell included with |
45 |
shell (by Herbert Xu), which was created by porting the 'ash' shell |
shell (by Herbert Xu), which was created by porting the 'ash' shell |
46 |
(written by Kenneth Almquist) from NetBSD. |
(written by Kenneth Almquist) from NetBSD. |
47 |
|
|
|
comment "Ash Shell Options" |
|
|
depends on ASH |
|
|
|
|
48 |
config ASH_BASH_COMPAT |
config ASH_BASH_COMPAT |
49 |
bool "bash-compatible extensions" |
bool "bash-compatible extensions" |
50 |
default y |
default y |
59 |
help |
help |
60 |
Enable job control in the ash shell. |
Enable job control in the ash shell. |
61 |
|
|
|
config ASH_READ_NCHARS |
|
|
bool "'read -n N' and 'read -s' support" |
|
|
default n |
|
|
depends on ASH |
|
|
help |
|
|
'read -n N' will return a value after N characters have been read. |
|
|
'read -s' will read without echoing the user's input. |
|
|
|
|
|
config ASH_READ_TIMEOUT |
|
|
bool "'read -t S' support" |
|
|
default n |
|
|
depends on ASH |
|
|
help |
|
|
'read -t S' will return a value after S seconds have passed. |
|
|
This implementation will allow fractional seconds, expressed |
|
|
as a decimal fraction, e.g. 'read -t 2.5 foo'. |
|
|
|
|
62 |
config ASH_ALIAS |
config ASH_ALIAS |
63 |
bool "alias support" |
bool "alias support" |
64 |
default y |
default y |
66 |
help |
help |
67 |
Enable alias support in the ash shell. |
Enable alias support in the ash shell. |
68 |
|
|
|
config ASH_MATH_SUPPORT |
|
|
bool "Posix math support" |
|
|
default y |
|
|
depends on ASH |
|
|
help |
|
|
Enable math support in the ash shell. |
|
|
|
|
|
config ASH_MATH_SUPPORT_64 |
|
|
bool "Extend Posix math support to 64 bit" |
|
|
default n |
|
|
depends on ASH_MATH_SUPPORT |
|
|
help |
|
|
Enable 64-bit math support in the ash shell. This will make |
|
|
the shell slightly larger, but will allow computation with very |
|
|
large numbers. |
|
|
|
|
69 |
config ASH_GETOPTS |
config ASH_GETOPTS |
70 |
bool "Builtin getopt to parse positional parameters" |
bool "Builtin getopt to parse positional parameters" |
71 |
default n |
default n |
118 |
Compile ash for reduced size at the price of speed. |
Compile ash for reduced size at the price of speed. |
119 |
|
|
120 |
config ASH_RANDOM_SUPPORT |
config ASH_RANDOM_SUPPORT |
121 |
bool "Pseudorandom generator and variable $RANDOM" |
bool "Pseudorandom generator and $RANDOM variable" |
122 |
default n |
default n |
123 |
depends on ASH |
depends on ASH |
124 |
help |
help |
125 |
Enable pseudorandom generator and dynamic variable "$RANDOM". |
Enable pseudorandom generator and dynamic variable "$RANDOM". |
126 |
Each read of "$RANDOM" will generate a new pseudorandom value. |
Each read of "$RANDOM" will generate a new pseudorandom value. |
127 |
You can reset the generator by using a specified start value. |
You can reset the generator by using a specified start value. |
128 |
After "unset RANDOM" then generator will switch off and this |
After "unset RANDOM" the generator will switch off and this |
129 |
variable will no longer have special treatment. |
variable will no longer have special treatment. |
130 |
|
|
131 |
config ASH_EXPAND_PRMT |
config ASH_EXPAND_PRMT |
133 |
default n |
default n |
134 |
depends on ASH |
depends on ASH |
135 |
help |
help |
136 |
"PS#" may be contain volatile content, such as backquote commands. |
"PS#" may contain volatile content, such as backquote commands. |
137 |
This option recreates the prompt string from the environment |
This option recreates the prompt string from the environment |
138 |
variable each time it is displayed. |
variable each time it is displayed. |
139 |
|
|
141 |
bool "hush" |
bool "hush" |
142 |
default n |
default n |
143 |
help |
help |
144 |
hush is a very small shell (just 18k) and it has fairly complete |
hush is a small shell (22k). It handles the normal flow control |
145 |
Bourne shell grammar. It even handles all the normal flow control |
constructs such as if/then/elif/else/fi, for/in/do/done, while loops, |
146 |
options such as if/then/elif/else/fi, for/in/do/done, while loops, |
case/esac. Redirections, here documents, $((arithmetic)) |
147 |
case/esac. |
and functions are supported. |
148 |
|
|
149 |
It uses only vfork, so it can be used on uClinux systems. |
It will compile and work on no-mmu systems. |
150 |
|
|
151 |
It does not handle select, functions, here documents ( << |
It does not handle select, aliases, brace expansion, |
152 |
word ), arithmetic expansion, aliases, brace expansion, tilde |
tilde expansion, &>file and >&file redirection of stdout+stderr. |
153 |
expansion, &> and >& redirection of stdout+stderr, etc. |
|
154 |
|
config HUSH_BASH_COMPAT |
155 |
|
bool "bash-compatible extensions" |
156 |
|
default y |
157 |
|
depends on HUSH |
158 |
|
help |
159 |
|
Enable bash-compatible extensions. |
160 |
|
|
161 |
config HUSH_HELP |
config HUSH_HELP |
162 |
bool "help builtin" |
bool "help builtin" |
172 |
help |
help |
173 |
Enable interactive mode (prompt and command editing). |
Enable interactive mode (prompt and command editing). |
174 |
Without this, hush simply reads and executes commands |
Without this, hush simply reads and executes commands |
175 |
from stdin just like a shell script from the file. |
from stdin just like a shell script from a file. |
176 |
No prompt, no PS1/PS2 magic shell variables. |
No prompt, no PS1/PS2 magic shell variables. |
177 |
|
|
178 |
config HUSH_JOB |
config HUSH_JOB |
206 |
depends on HUSH |
depends on HUSH |
207 |
help |
help |
208 |
Enable for, while and until loops in hush. |
Enable for, while and until loops in hush. |
|
As of 2008-07, break and continue statements are not supported. |
|
209 |
|
|
210 |
config HUSH_CASE |
config HUSH_CASE |
211 |
bool "Support case ... esac statement" |
bool "Support case ... esac statement" |
214 |
help |
help |
215 |
Enable case ... esac statement in hush. +400 bytes. |
Enable case ... esac statement in hush. +400 bytes. |
216 |
|
|
217 |
|
config HUSH_FUNCTIONS |
218 |
|
bool "Support funcname() { commands; } syntax" |
219 |
|
default n |
220 |
|
depends on HUSH |
221 |
|
help |
222 |
|
Enable support for shell functions in hush. +800 bytes. |
223 |
|
|
224 |
|
config HUSH_LOCAL |
225 |
|
bool "Support local builtin" |
226 |
|
default n |
227 |
|
depends on HUSH_FUNCTIONS |
228 |
|
help |
229 |
|
Enable support for local variables in functions. |
230 |
|
|
231 |
|
config HUSH_EXPORT_N |
232 |
|
bool "Support export '-n' option" |
233 |
|
default n |
234 |
|
depends on HUSH |
235 |
|
help |
236 |
|
Enable support for export '-n' option in hush. It is a bash extension. |
237 |
|
|
238 |
|
config HUSH_RANDOM_SUPPORT |
239 |
|
bool "Pseudorandom generator and $RANDOM variable" |
240 |
|
default n |
241 |
|
depends on HUSH |
242 |
|
help |
243 |
|
Enable pseudorandom generator and dynamic variable "$RANDOM". |
244 |
|
Each read of "$RANDOM" will generate a new pseudorandom value. |
245 |
|
|
246 |
config LASH |
config LASH |
247 |
bool "lash" |
bool "lash (deprecated: aliased to hush)" |
248 |
default n |
default n |
249 |
select HUSH |
select HUSH |
250 |
help |
help |
251 |
lash is deprecated and will be removed, please migrate to hush. |
lash is deprecated and will be removed, please migrate to hush. |
252 |
|
|
253 |
config MSH |
config MSH |
254 |
bool "msh" |
bool "msh (deprecated: please use hush)" |
255 |
default n |
default n |
256 |
|
select HUSH |
257 |
|
help |
258 |
|
msh is deprecated and will be removed, please migrate to hush. |
259 |
|
If there is a feature msh has but hush does not, please let us know. |
260 |
|
|
261 |
|
# The minix shell (adds just 30k) is quite complete and handles things |
262 |
|
# like for/do/done, case/esac and all the things you expect a Bourne |
263 |
|
# shell to do. It is not always pedantically correct about Bourne |
264 |
|
# shell grammar (try running the shell testscript "tests/sh.testcases" |
265 |
|
# on it and compare vs bash) but for most things it works quite well. |
266 |
|
# It uses only vfork, so it can be used on uClinux systems. |
267 |
|
|
268 |
|
|
269 |
|
config SH_MATH_SUPPORT |
270 |
|
bool "POSIX math support" |
271 |
|
default y |
272 |
|
depends on ASH || HUSH |
273 |
help |
help |
274 |
The minix shell (adds just 30k) is quite complete and handles things |
Enable math support in the shell via $((...)) syntax. |
|
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. |
|
275 |
|
|
276 |
comment "Bourne Shell Options" |
config SH_MATH_SUPPORT_64 |
277 |
depends on MSH || LASH || HUSH || ASH |
bool "Extend POSIX math support to 64 bit" |
278 |
|
default n |
279 |
|
depends on SH_MATH_SUPPORT |
280 |
|
help |
281 |
|
Enable 64-bit math support in the shell. This will make the shell |
282 |
|
slightly larger, but will allow computation with very large numbers. |
283 |
|
This is not in POSIX, so do not rely on this in portable code. |
284 |
|
|
285 |
config FEATURE_SH_EXTRA_QUIET |
config FEATURE_SH_EXTRA_QUIET |
286 |
bool "Hide message on interactive shell startup" |
bool "Hide message on interactive shell startup" |