我正在尝试使用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”在这里运行良好,因为它与任何(*)模式匹配并给出“循环”输出。问题出在条件声明中(缩小范围)。我怎么能在这里模式匹配。请指教
答案 0 :(得分:0)
foreach elem($ tg_activity:q)
如果($ elem:q =〜[0-9] * [0-9]?)那么
设置job_id = echo $elem:q
打破
万一
端
上面为我工作