检查我店里的代码涉及一个复杂的舞蹈,最后是在ClearCase签到的触发器内回答几个提示。
我想修改触发器以获取命令行参数。这可能吗?
如果做不到这一点,我希望能够跳转STDIN,以便提示得到答案。我尝试过使用HERE文件,但第二次提示无限期重复。我正在用perl编写脚本。有什么想法吗?
答案 0 :(得分:1)
trgger的修改需要使用cleartool mktrtype
您可以访问环境变量和参数,具体取决于您的trgger适用的对象类型。
但是你不能访问任何命令行参数。
如果做不到这一点,我希望能够跳过STDIN,以便提示得到答案
结帐clearprompt
:
clearprompt
命令提示用户输入,然后将输入存储在文件中或返回适当的退出状态。
clearprompt
旨在用于触发操作和GUI脚本。在UNIX和Linux系统上,
clearprompt
可以通过stdin
和stderr
(CLI模式)或通过弹出窗口(GUI模式)与用户交互。
例如:
创建一个全元素触发器类型,当创建
c_source
类型的元素时,会提示输入算法来源。
触发触发器会执行名为hlink_algorithm
的脚本,该脚本会调用clearprompt
实用程序以获取必要的信息。
然后,该脚本在新创建的元素对象(例如foo.c@@
)和指定文本之间创建纯文本超链接。
hlink_algorithm
脚本会立即显示在mktrtype
命令之后。
cmd-context mktrtype -element -all -nc -postop mkelem -eltype c_source \
-exec /net/neon/scripts/hlink_algorithm describe_algorithm
Created trigger type "describe_algorithm".
hlink_algorithm
脚本:
clearprompt text -outfile /usr/tmp/alg.$CLEARCASE_PPID \
-multi_line
-def "Internal Design" -prompt "Algorithm Source Document:"
TOTEXT=‘cat /usr/tmp/alg.$CLEARCASE_PPID‘
cleartool mkhlink -ttext "$TOTEXT" design_spec
$CLEARCASE_PN$CLEARCASE_XN_SFX
rm /usr/tmp/alg.$CLEARCASE_PPID