I am trying to run the test command from a string. The string contains the expression.
 TEST="! -e ~/bin/xyz"
 if [ `echo "$TEST"` ]; then
    echo running "$TEST";
 fi
However, the above if condition does evaluate to true but if I plug in the command directly (as below), it evaluates to false.
 if [ ! -e ~/bin/xyz ]; then
    echo running;
 fi
The second snippet's behavior is correct. Can someone help me understand why there is a difference and also how I can correct the first snippet to give me the right result?