【问题标题】:shell script triggering through control-m通过 control-m 触发的 shell 脚本
【发布时间】:2020-08-30 15:44:32
【问题描述】:

一般来说,我有一个在 Control-m 中运行的带有某些参数的 shell 脚本,例如:

sh shell_script_program.sh 'param_1' 'param_2' 'param_3'

但是,为了测试程序,我必须更改传递给 shell 脚本的参数值。所以当我想运行程序时,我一直在编辑。

sh shell_script_program.sh 'value_1' 'value_2' 'value_3'
sh shell_script_program.sh 'value_1' 'value_3' 'value_4'

有什么方法可以自动化作为参数传递给脚本的不同参数集。

您能否提供任何解决方案的提示。

【问题讨论】:

  • 您可以将所有值放入文件并使用for loop调用脚本

标签: python unix scripting control-m


【解决方案1】:

您可以创建具有不同参数集的文件,例如

$cat input_param.txt
'param_1' 'param_2' 'param_3'
'value_1' 'value_2' 'value_3'
'value_1' 'value_3' 'value_4'
$

并循环调用脚本

while read param; 
do 
   echo ./shell_script_program.sh  ${param} | sh  ;
done < input_param.txt 

【讨论】:

  • 谢谢,但我担心如果第二组通过是无效的场景,那么第三组不会通过吧?程序将在传递第二组参数时失败。我们该如何考虑??
  • 您可以通过添加&amp;在后台提交。但是跟踪脚本会很困难。如果可以给样本控制-M定义。我们可以根据参数值更新定义,您可以部署它们。
  • 当然我会提供详细信息。
【解决方案2】:

您可以为此创建一个包装脚本。 使用参数值创建环境文件。 例如带有参数值的 .env 文件。您可以通过更改 .env 文件来修改参数值。 猫.env 参数_1=值1 param_2=value2

在包装器中加载环境文件。

包装脚本代码: 猫包装器.sh ./.env 文件

sh shell_script_program.sh 'value_1' 'value_2' 'value_3'

检查退出状态

回声$? sh shell_script_program.sh 'param_1' 'param_2' 'param_3' 回声$?

你可以执行包装脚本 sh wrapper.sh

根据退出状态,您可以决定是否继续。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多