问题描述
我有一个用于在 IBM MQ qmgr 上创建 ssl 证书的 perl 脚本。该脚本需要用户名和密码才能运行。
我有一个 ansible 角色,它调用一个现成的 perl 脚本来创建一个 MQ qmgr,另一个来创建一个 ssl kdb。像这样:
- name: Create MQ Queue Manager
shell: "./CreateQmgr.sh -m {{MQ_QMGR1}}"
args:
chdir: /opt/wmqinf/utilities
- name: SSL the new Qmgr
shell: "./renewSSL.pl -S {{SSL_PEER1}} -U -m {{MQ_QMGR1}} -G {{GBGF}}"
args:
chdir: /opt/wmqinf/utilities
剧本/角色在无法创建 ssl kdb 时失败,因为没有输入用户名。
有什么方法可以将我的用户名和密码传递给 .pl 脚本以使其正常工作?
解决方法
我相信有更好的方法来做到这一点。例如修改您的 perl 脚本以接受额外的命令行参数。但是,这应该/可能有效
shell: "./renewSSL.pl -S {{SSL_PEER1}} -U -m {{MQ_QMGR1}} -G {{GBGF}}" <(echo -n "str2") <(echo -n "str3")