如何在 .csh 脚本中进行三元运算
how to do a ternary operation in .csh script
我想做
a = $b == howru ? good : not_good;
在 c shell 脚本中
我尝试使用 &&
和 ||
运算符,但似乎我犯了一些错误,因为我习惯于在 Bash.
上工作
首先,你的语法错误:
- 您需要使用
set
分配变量
?
.. :
不是 csh 中的运算符。
"normal" csh
if
语句如下所示:
if ( cond ) then
foo
else
bar
endif
您实际上可以将 if
缩短为
if ( cond ) foo
但据我所知,您不能在此处添加 else
。
"short" 语法与 bourne shell 中的语法完全相同,只是您需要使用 set
关键字:
% [ "howru" = 'howru' ] && set a = good || set a = not_good
% echo $a
good
% [ "XXhowru" = 'howru' ] && set a = good || set a = not_good
% echo $a
not_good
我想做
a = $b == howru ? good : not_good;
在 c shell 脚本中
我尝试使用 &&
和 ||
运算符,但似乎我犯了一些错误,因为我习惯于在 Bash.
首先,你的语法错误:
- 您需要使用
set
分配变量
?
..:
不是 csh 中的运算符。
"normal" csh
if
语句如下所示:
if ( cond ) then
foo
else
bar
endif
您实际上可以将 if
缩短为
if ( cond ) foo
但据我所知,您不能在此处添加 else
。
"short" 语法与 bourne shell 中的语法完全相同,只是您需要使用 set
关键字:
% [ "howru" = 'howru' ] && set a = good || set a = not_good
% echo $a
good
% [ "XXhowru" = 'howru' ] && set a = good || set a = not_good
% echo $a
not_good