On 07/02/2011 12:45 PM, Daniel B. Thurman wrote:
I seem to forget my shell programming
but is the following statement valid?
($foo==0)?foo=1:foo=0
I thought it was called the tristate conditional
operator but in any case I could not find it in
google.
You need to enclose the entire expression in double parentheses to make
bash parse it as an expression. Plus, your syntax is slightly wrong:
((($foo==0)?foo=1:0))
or, since within an expression the '$' to reference a variable is optional:
(((foo==0)?foo=1:0))
and, if you want to insert the result directly into a command line:
echo $(((foo==0)?1:0))
or
echo $(((foo==0)?foo=1:0))
--
Bob Nichols "NOSPAM" is really part of my email address.
Do NOT delete it.