#!/usr/bin/env zsh # # Succeeds if $1 is a well-formed command. # If it ends with an odd number of backslashes, it's malformed. () { builtin emulate -L zsh -o extended_glob [[ $1 == (|*[^\\])(\\\\)#\\ ]] } "$1" && builtin return 1 if [[ -v functions[-z4h-test-func] ]]; then builtin unfunction -- -z4h-test-func fi functions[-z4h-test-func]="$1" 2>/dev/null || builtin return 1 [[ -v functions[-z4h-test-func] ]] || builtin return 1 builtin unfunction -- -z4h-test-func # This suffix allows us to detect two tricky cases: "for x" and "</dev/null || builtin return 0 [[ -v functions[-z4h-test-func] ]] || builtin return 0 builtin unfunction -- -z4h-test-func builtin return 1