Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash ClearCase:这是一个bug还是一个特性?_Bash_Clearcase_Cleartool - Fatal编程技术网

Bash ClearCase:这是一个bug还是一个特性?

Bash ClearCase:这是一个bug还是一个特性?,bash,clearcase,cleartool,Bash,Clearcase,Cleartool,当我在bash中相互运行下面的代码时,它工作得很好 cleartool setview $myview cleartool lsbl 但当我将它们放入脚本并尝试运行脚本时,它从第一个cleartool命令中永远不会返回 在交互式示例中,第一个cleartool命令似乎打开了一个新的bash来运行,当您从新shell运行第二个命令时,它工作正常。但在脚本的情况下,新shell不可见,因此它似乎不会从命令返回 是否仍然可以将cleartool命令保存在运行它们的bash shell中?cleart

当我在bash中相互运行下面的代码时,它工作得很好

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

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


是否仍然可以将cleartool命令保存在运行它们的bash shell中?

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

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

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

cleartool setview $myview -exec "cleartool lsbl"

应该这样做。

虽然它不能直接回答问题,但下面的内容可能会满足您的需要。它使第二个命令在第一个命令打开的子shell中运行

cleartool setview $myview << EOF
cleartool lsbl
EOF
cleartool setview$myview请参见