本文主要是介绍taskctl怎么获取脚本返回的字符串值?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 TASKCTL解决方案资源-->范例:TASKCTL设计主要技术点-->condition,最灵活的控制手段(流程), 是有简单的提到怎么用的。
分支3和分支4就是通过shell中返回一个字符串做判断,然后再决定该运行那个分支。
通过查看代码设计和对应的shell脚本,应该是TASKCTL对每个任务都有很多记录,TASKCTL_JOB_RETMSG是给用户提供一种可以直接自定义任务的属性(状态、记录),然后通过自带函数getjretmsg来获取这一属性,达到灵活控制调度流程的目的。
官方的案例中的shell脚本如下:
1 2 3 4 | #!/bin/sh sleep 10 echo "TASKCTL_JOB_RETMSG=$1" exit 0 |
调度中案例的代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | < sh > < name >job2</ name > < progname >$TASKCTLDIR/demo/shell/branchctl2.sh</ progname > < para >$(retmsg)</ para > < jobdesc >返回a-分支3,返回b-分支4</ jobdesc > </ sh > <!--分支3 --> < parallel > < name >allbranch1</ name > < serial > < name >branch3</ name > < jobdesc >分支3</ jobdesc > < condition >if(strcmp(getjretmsg('job2'),'a')==0) CTL_DOIT else CTL_IGN</ condition > < exe > ...... </ exe > < exe > ...... </ exe > </ serial > <!--分支4 --> < serial > < name >branch4</ name > < jobdesc >分支4</ jobdesc > < condition >if(strcmp(getjretmsg('job2'),'b')==0) CTL_DOIT else CTL_IGN</ condition > < exe > ...... </ exe > < exe > ...... </ exe > </ serial > </ parallel > |
每个任务被定义了后应该都有很多类型的属性,TASKCTL_JOB_RETMSG只是其中一种。自带函数getjretmsg就是获取这个属性(TASKCTL_JOB_RETMSG)的方法。使用时应该注意,TASKCTL_JOB_RETMSG='',这个应该单独成行,但同一个作业中出现多次时,以第一次为准。
这篇关于taskctl怎么获取脚本返回的字符串值?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!