Bash-4.3 distribution sources and documentation
[platform/upstream/bash.git] / examples / functions / func
1 #
2 # func -- print out definitions for functions named by arguments
3 #
4 # usage: func name [name ...]
5 #
6 #  Chet Ramey <chet.ramey@case.edu>
7 #
8 #  Copyright 1991 Chester Ramey
9 #
10 #   This program is free software; you can redistribute it and/or modify
11 #   it under the terms of the GNU General Public License as published by
12 #   the Free Software Foundation; either version 2, or (at your option)
13 #   any later version.
14 #
15 #   TThis program is distributed in the hope that it will be useful,
16 #   but WITHOUT ANY WARRANTY; without even the implied warranty of
17 #   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 #   GNU General Public License for more details.
19 #
20 #   You should have received a copy of the GNU General Public License
21 #   along with this program; if not, write to the Free Software Foundation,
22 #   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
23
24 func()
25 {
26         local status=0
27
28         if [ $# -eq 0 ] ; then
29                 echo "usage: func name [name...]" 1>&2
30                 return 1
31         fi
32
33         for f
34         do
35                 if [ "$(builtin type -type $f)" != "function" ] ; then
36                         echo "func: $f: not a function" 1>&2
37                         status=1        # one failed
38                         continue
39                 fi
40                 builtin type $f | sed 1d
41         done
42         return $status
43 }