开发者问题收集

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

2013-02-26
285

我正在尝试使用 cshell 验证输入,但在确切的语法方面遇到了麻烦。我知道你可以使用像这样的 switch case 结构:

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

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

1个回答

我的 csh 技能有点过时了,但我相信您正在寻找的语法是:

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

我使用 csh 而不是 bash 甚至 sh 编写脚本的唯一原因是因为我必须维护现有脚本并且不允许重写它,或者必须将其导入 c shell 环境。(如果您下定决心,最后还是有办法解决这个问题的。)

William
2013-02-26