diff options
author | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:33:51 -0600 |
---|---|---|
committer | Pete Travis <immanetize@fedoraproject.org> | 2014-10-01 11:33:51 -0600 |
commit | 3f6c1435a4cbdf73a65639b05898a01c0dfc21ac (patch) | |
tree | c29f3db44b106fc8b145656cd0238341551b22c0 /scratch/bash-3.1-postpatch/examples/functions/whatis | |
parent | 46c50fce0354d81d347a8055314a688fc8aa9f52 (diff) | |
download | rpmbuild-3f6c1435a4cbdf73a65639b05898a01c0dfc21ac.tar.gz rpmbuild-3f6c1435a4cbdf73a65639b05898a01c0dfc21ac.tar.xz rpmbuild-3f6c1435a4cbdf73a65639b05898a01c0dfc21ac.zip |
we might need this sles10 stuff latersles10-bash
Diffstat (limited to 'scratch/bash-3.1-postpatch/examples/functions/whatis')
-rw-r--r-- | scratch/bash-3.1-postpatch/examples/functions/whatis | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/scratch/bash-3.1-postpatch/examples/functions/whatis b/scratch/bash-3.1-postpatch/examples/functions/whatis new file mode 100644 index 0000000..56c5a58 --- /dev/null +++ b/scratch/bash-3.1-postpatch/examples/functions/whatis @@ -0,0 +1,52 @@ +# +# whatis -- and implementation of the 10th Edition Unix sh builtin `whatis' +# command. +# +# usage: whatis arg [...] +# +# For each argument, whatis prints the associated value as a parameter, +# builtin, function, alias, or executable file as appropriate. In each +# case, the value is printed in a form which would yield the same value +# if typed as input to the shell itself. +# + +whatis() +{ + local wusage='usage: whatis arg [arg...]' + local fail=0 + + if [ $# -eq 0 ] ; then + echo "$wusage" + return 1 + fi + + for arg + do + case $(builtin type -type $arg 2>/dev/null) in + "alias") + builtin alias "$arg" + ;; + "function") + builtin type "$arg" | sed 1d + ;; + "builtin") + echo builtin "$arg" + ;; + "file") + builtin type -path "$arg" + ;; + *) + # OK, we could have a variable, or we could have nada + if [ "$(eval echo \${$arg+set})" = "set" ] ; then + # It is a variable, and it is set + echo -n "$arg=" + eval echo '\"'\$$arg'\"' + else + echo whatis: $arg: not found + fail=1 + fi + ;; + esac + done + return $fail +} |