从switch-case转换为if-then语句

时间:2013-02-26 17:58:51

标签: shell csh

我正在尝试使用cshell验证输入,但我遇到了确切的语法问题。我知道你可以使用这样的开关盒结构:

switch ( $input )
  case [0-9]:
     echo Input is good

但有没有办法用if-then语句做到这一点?我知道最简单的解决方案是停止使用可怕的脚本语言,但如果有人能用csh给我答案,我会很感激。

1 个答案:

答案 0 :(得分:1)

我的csh技巧有点陈旧,但我相信你正在寻找的语法是:

if ($input =~ [0-9]) then
    echo "Input is good"
endif

我使用csh over,bash,甚至是sh for script的唯一原因是因为我必须维护一个现有的脚本并且不允许重写它,或者它必须被引入ac shell环境。 (如果你有决心的话,还有最后的方法。)