将变量传递给调用自身的脚本
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
我的脚本将 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