| # check saving and restoring positional parameters around function calls | |
| f() | |
| { | |
| echo $FUNCNAME: "$@" | |
| } | |
| f1() | |
| { | |
| f {1..50} | |
| echo $FUNCNAME: after: $@ | |
| } | |
| set -- {1..100} | |
| f1 {1..20} | |
| echo done: $@ | |
| f3() | |
| { | |
| echo $FUNCNAME:$1 | |
| shift | |
| if [ $# -le 0 ]; then | |
| return | |
| fi | |
| f3 "$@" | |
| } | |
| f3 {1..20} | |
| # now let's try source with and without positional parameters | |
| set -- {1..20} | |
| echo before source: "$@" | |
| . ./varenv15.in | |
| echo after source 1: "$@" | |
| . ./varenv15.in one two three four five six seven eight nine ten | |
| echo after source 2: "$@" |