将变量传递给调用自身的脚本

Passing a Variable to a script calling itself

我的脚本将 ClearCase 视图存储在变量中。要在此视图中进行操作,脚本需要在启动视图后再次在视图中调用自身。 代码看起来像这样

 if($params{ViewSet} eq 'no')
    {
       # Start the View
       # Store the View in $View
       # Call the Script in the new-set View with parameter -ViewSet yes
    }
if($params{ViewSet} eq 'yes')
    {
      # Do Work inside the View
    }

问题是,当我第二次调用我的脚本时显然变量 $View 没有定义,因为它是在第一个 if 循环中定义的。

我第二次调用Script的时候能把我保存在$View里的View传过去吗? 在进入if语句之前设置View不会的话,我会启动两次View。

Call the Script in the new-set View with parameter -ViewSet

如果这涉及调用 cleartool setview, don't: setview spawns a subshell in,您在脚本中定义的内容将不可见。

当您的脚本需要访问 dynamic view started 时,请使用 完整 动态视图路径:

/view/myDynView
# under which you would see:
/view/myDynView/vobs/MyVob