ClearCase:它是一个bug还是一个功能?

Rai*_*han 2 bash clearcase cleartool

当我从bash中以交互方式运行以下代码时,它工作正常.

cleartool setview $myview
cleartool lsbl
Run Code Online (Sandbox Code Playgroud)

但是当我将它们放入脚本并尝试运行脚本时,它永远不会从第一个cleartool命令返回.

在交互式的情况下,第一个cleartool命令打开一个新的bash来运行,当你从新的shell运行第二个命令时,它工作正常.但是在脚本的情况下,新的shell不可见,因此它似乎不会从命令返回.

反正有没有将cleartool命令保存在它们运行的​​同一个bash shell中?

A.H*_*.H. 8

cleartool setview命令将打开一个新的交互式shell.在该shell中,您在手动键入时执行第二个命令.将两行放入脚本时,setview执行shell等待输入.退出该shell后立即执行第二个命令.当然第二个命令不是在上下文中执行的$myview.

为了使事情更清楚,请执行以下操作:在shell中执行cleartool setview $myview五次.键入echo $$每个之后setview.这为您提供了当前shell的进程ID.数字会增加.然后输入exit每个shell.echo $$每次之后再做一次exit.旧号码将按降序显示.六点之后,exit您的终端应该关闭.

这就是解释.您的问题的解决方案可能是-execsetview命令的选项:

cleartool setview $myview -exec "cleartool lsbl"
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.


And*_*rio 5

虽然它没有直接回答问题,但以下可能会做你想要的.它使第二个命令在第一个命令打开的子shell中运行.

cleartool setview $myview << EOF
cleartool lsbl
EOF
Run Code Online (Sandbox Code Playgroud)