95ebcf79ff
Where the POSIX shell allows functions to be defined as: name () compound-command [ redirections ] bash adds the alternative syntax: function name [()] compound-command [ redirections ] Implement this in ash's bash compatibility mode. Most compound commands work (for/while/until/if/case/[[]]/{}); one exception is: function f (echo "no way!") The other two variants work: f() (echo "ok") function f() (echo "also ok") function old new delta parse_command 1555 1744 +189 tokname_array 232 240 +8 .rodata 155612 155566 -46 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 197/-46) Total: 151 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
29 lines
301 B
Plaintext
Executable File
29 lines
301 B
Plaintext
Executable File
function f() { echo $1; }
|
|
f 1
|
|
|
|
function f() ( echo $1; )
|
|
f 2
|
|
|
|
function f() ( echo $1 )
|
|
f 3
|
|
|
|
function f() for i in 1 2 3; do
|
|
echo $i
|
|
done
|
|
f
|
|
|
|
function f { echo $1; }
|
|
f 1
|
|
|
|
# the next two don't work
|
|
#function f ( echo $1; )
|
|
f 2
|
|
|
|
#function f ( echo $1 )
|
|
f 3
|
|
|
|
function f for i in 1 2 3; do
|
|
echo $i
|
|
done
|
|
f
|