mirror of https://github.com/n-hys/bash.git
170 lines
2.0 KiB
Plaintext
170 lines
2.0 KiB
Plaintext
a returns 5
|
|
b returns 4
|
|
c returns 3
|
|
d returns 2
|
|
in e
|
|
e returned 25
|
|
x is 25
|
|
ZZ
|
|
abcde
|
|
defghi
|
|
ZZ
|
|
5
|
|
0
|
|
AVAR
|
|
AVAR
|
|
foo
|
|
foo
|
|
AVAR
|
|
5
|
|
5
|
|
f1
|
|
f1 ()
|
|
{
|
|
( return 5 );
|
|
status=$?;
|
|
echo $status;
|
|
return $status
|
|
}
|
|
before: try to assign to FUNCNAME
|
|
outside: FUNCNAME =
|
|
before: FUNCNAME = func
|
|
FUNCNAME = func2
|
|
after: FUNCNAME = func
|
|
outside2: FUNCNAME =
|
|
function
|
|
zf is a function
|
|
zf ()
|
|
{
|
|
echo this is zf
|
|
}
|
|
f is a function
|
|
f ()
|
|
{
|
|
echo f-x;
|
|
echo f-y
|
|
} 1>&2
|
|
subshell
|
|
f is a function
|
|
f ()
|
|
{
|
|
echo f-x;
|
|
echo f-y
|
|
} 1>&2
|
|
f2 is a function
|
|
f2 ()
|
|
{
|
|
echo f2-a;
|
|
function f3 ()
|
|
{
|
|
echo f3-a;
|
|
echo f3-b
|
|
} 1>&2;
|
|
f3
|
|
}
|
|
subshell
|
|
f2 is a function
|
|
f2 ()
|
|
{
|
|
echo f2-a;
|
|
function f3 ()
|
|
{
|
|
echo f3-a;
|
|
echo f3-b
|
|
} 1>&2;
|
|
f3
|
|
}
|
|
f4 is a function
|
|
f4 ()
|
|
{
|
|
echo f4-a;
|
|
function f5 ()
|
|
{
|
|
echo f5-a;
|
|
echo f5-b
|
|
} 1>&2;
|
|
f5
|
|
} 2>&1
|
|
subshell
|
|
f4 is a function
|
|
f4 ()
|
|
{
|
|
echo f4-a;
|
|
function f5 ()
|
|
{
|
|
echo f5-a;
|
|
echo f5-b
|
|
} 1>&2;
|
|
f5
|
|
} 2>&1
|
|
testgrp is a function
|
|
testgrp ()
|
|
{
|
|
echo testgrp-a;
|
|
{
|
|
echo tg-x;
|
|
echo tg-y
|
|
} 1>&2;
|
|
echo testgrp-b
|
|
}
|
|
subshell
|
|
testgrp is a function
|
|
testgrp ()
|
|
{
|
|
echo testgrp-a;
|
|
{
|
|
echo tg-x;
|
|
echo tg-y
|
|
} 1>&2;
|
|
echo testgrp-b
|
|
}
|
|
funca is a function
|
|
funca ()
|
|
{
|
|
( echo func-a )
|
|
}
|
|
funcb is a function
|
|
funcb ()
|
|
{
|
|
( echo func-b )
|
|
}
|
|
funcc is a function
|
|
funcc ()
|
|
{
|
|
( echo func-c ) 2>&1
|
|
}
|
|
func-a
|
|
func-b
|
|
func-c
|
|
foo-bar
|
|
foo-bar ()
|
|
{
|
|
:
|
|
}
|
|
expect 5 10
|
|
5 10
|
|
expect 20
|
|
20
|
|
expect 5 20
|
|
5 20
|
|
expect 5 20
|
|
5 20
|
|
expect 2 40
|
|
2 40
|
|
expect 5 20
|
|
5 20
|
|
./func4.sub: line 23: foo: maximum function nesting level exceeded (100)
|
|
1
|
|
after: f = 100
|
|
./func4.sub: line 23: foo: maximum function nesting level exceeded (100)
|
|
1
|
|
after: f = 100
|
|
7
|
|
after FUNCNEST reset: f = 201
|
|
7
|
|
after FUNCNEST unset: f = 201
|
|
./func4.sub: line 23: foo: maximum function nesting level exceeded (20)
|
|
1
|
|
after FUNCNEST assign: f = 38
|
|
5
|