# this should echo nothing
type
# this should be a usage error
-type -f ${THIS_SH}
+type -r ${THIS_SH}
# these should behave identically
type notthere
type -t func
type -t while
-type -t m
type -t builtin
type -t /bin/sh
type -t ${THIS_SH}
# the following two should produce identical output
type while
type -a while
-type m
type builtin
type /bin/sh
command -V func
command -v while
command -V while
-# the following three lines should produce the same output
+
+# the following two lines should produce the same output
+# post-3.0 patch makes command -v silent, as posix specifies
+# first test with alias expansion off (should all fail or produce no output)
+type -t m
+type m
command -v m
alias -p
alias m
+
+# then test with alias expansion on
+shopt -s expand_aliases
+type m
+type -t m
+command -v m
+alias -p
+alias m
+
command -V m
+shopt -u expand_aliases
+
command -v builtin
command -V builtin
command -v /bin/sh
# make sure the hash table looks right
hash
+
+# bug in versions of bash up to and including bash-3.2
+f() {
+ v=$'\001'
+ }
+
+type f | cat -v
+
+${THIS_SH} type1.sub
+
+${THIS_SH} type2.sub
+
+${THIS_SH} type3.sub
+
+${THIS_SH} type4.sub