On 29/05/10 05:16, Andres P wrote:
On Tue, May 25, 2010 at 03:36:41PM -0430, Andres P wrote:
`type -p foo` has a return val, so consider this:
$ time for i in {1..1000}; do [[ $(type -p sh) ]]; done
real 0m1.564s
user 0m0.160s
sys 0m0.337s
$ time for i in {1..1000}; do type -p sh&>/dev/null; done
real 0m0.166s
user 0m0.060s
sys 0m0.103s
I should have brought this up sooner:
check_fn() {
# if [[ $(type -t "$1") = "function" ]]; then
if declare -f "$1">/dev/null; then
echo true
else
echo false
fi
}
build() { :; }
check_fn build # true
unset build
check_fn build # false
check_fn bash # false
Assuming there's interest, I'll write a patch once master i open again.
Sure. It is much faster to check for functions that way.
Feel free to base it of my post-3.4 branch is you want to do this pre
pacman-3.4 release.
Allan