Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Incorporating (( $+commands[foo] )) into a larger "if" statement
On Aug 5,  6:00pm, TJ Luoma wrote:
} 
} if (( $+commands[foo] ))
$+commands[foo] is either 1 (commands[foo] is set) or 0 (not set).
The (( )) are a math context evaluation, so (( 1 )) is true.  This
whole expression is a single shell command, so it can be used in any
position that an ordinary shell command can be used.
Thus to use this with other tests, you can either:
- Combine the test forms with && or || like:
    if (( $+commands[growlnotify] )) && [ "`pgrep -x Growl`" != "" ]
- Test for 1 or 0 within the ordinary test such as:
    if [ $+commands[growlnotify] = 1 -a "`pgrep -x Growl`" != "" ]
Messages sorted by:
Reverse Date,
Date,
Thread,
Author