【问题标题】:pattern match using if condition in tcsh在 tcsh 中使用 if 条件进行模式匹配
【发布时间】:2014-06-08 21:32:36
【问题描述】:

我正在尝试各种组合来使用 tcsh 进行模式匹配(无法避免 tcsh)。我运行命令然后解析(使用空间)它。它运作良好。但是,当我想从中获取数字时,它不会进行模式匹配。
它永远不会进入 if 循环给我“循环”输出。

echo "Command: $command\n"
set tg_activity = `$command`
foreach abc (`echo $tg_activity`)
echo "The part is: $abc"
 if ( "$abc" =~ ^[0-9]* ) then
   echo "loop"
   set job_id = "$abc"
   break
 endif
echo "No If\n"
end

如果我在 if 条件中使用 $abc 而不是“$abc”,它会给我错误“如果:缺少文件名。”。 "$abc" 在这里工作得很好,因为它与任何 (*) 进行模式匹配并给出 "loop" 输出。问题出在条件语句中(缩小范围)。我如何在这里进行模式匹配。请指教

【问题讨论】:

    标签: linux unix pattern-matching csh tcsh


    【解决方案1】:

    foreach 元素 ($tg_activity:q) 如果 ($elem:q =~ [0-9]*[0-9]?) 那么 设置 job_id = echo $elem:q 休息 万一 结束

    以上对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-28
      • 2017-11-29
      • 1970-01-01
      • 2011-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多