ISTM that expr is too painful to use to be seen as the idiomatic way of achieving comparison in psql.
Among its disadvantages, it won't work on windows, and its interface is hard to work with due to the necessary quoting of half its operators, and the mandatory spacing between arguments.
Also the quoting rules and command line syntax depend on the underlying shell. Isn't it going to be tricky to produce code that works across different families of shells, like bourne and csh?
I think that users would rather have the option to just put an SQL expression behind \if. That implies a working connection to evaluate, which expr doesn't, but that's no different from the other backslash commands that read the database.
some basic expression can be done on client side like defvar, serverver, ... but generic expression should be evaluated in server - I am not sure, if it is what we would - when I have PLpgSQL.
In psql scripting I expecting really simple expressions - but it should to work everywhere - using bash is not good enough.
Regards
Pavel
Best regards, -- Daniel Vérité PostgreSQL-powered mailer: http://www.manitou-mail.org Twitter: @DanielVerite