我正在尝试各种组合来使用 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”,则会出现错误“if:缺少文件名。”。 “$abc”在这里工作得很好,因为它与任何 (*) 进行模式匹配并给出“循环”输出。问题出在条件语句中(缩小范围)。我如何在这里进行模式匹配。请指教
最佳答案
foreach elem ($tg_activity:q)
if ($elem:q =~ [0-9]*[0-9]?) 那么
设置 job_id = echo $elem:q
休息
万一
结束
以上对我有用
关于linux - 使用 tcsh 中的 if 条件进行模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24111062/