s='!'
if [ "$s" 2 -eq 1 ]; then
echo 1
fi

こういうふうに!を変数に入れてifの条件式の中で否定に使うのって問題ないですか?
これでtrueになりますけどたまたま動いたとかじゃなくて正しい挙動ですか?