模式匹配使用tcsh中的if条件

时间:2014-06-08 21:32:37

标签: linux unix pattern-matching csh tcsh

我正在尝试使用tcsh进行模式匹配的各种组合(无法避免tcsh)。我运行命令,然后解析(使用空格)它。它运作良好。但是,当我想从中得到一个数字时,它不会进行模式匹配 它永远不会进入内部,如果循环给我“循环”输出。

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

如果我在条件中使用$ abc而不是“$ abc”,它会给出错误“if:Missing file name。”。 “$ abc”在这里运行良好,因为它与任何(*)模式匹配并给出“循环”输出。问题出在条件声明中(缩小范围)。我怎么能在这里模式匹配。请指教

1 个答案:

答案 0 :(得分:0)

foreach elem($ tg_activity:q)      如果($ elem:q =〜[0-9] * [0-9]?)那么        设置job_id = echo $elem:q        打破     万一 端

上面为我工作