【问题标题】:How to handle space in value - Unix KSH script如何处理空间值 - Unix KSH 脚本
【发布时间】:2018-12-13 01:54:17
【问题描述】:

对此的任何帮助都会很棒。这是一个脚本,它使用 Props.txt 中的变量 rootCerLabel 通过命令在密钥库中添加证书,但命令失败,因为变量 rootCerLabel 的值中有空格,我不确定如何处理值中的空间。我尝试过转义它也会反斜杠,但没有运气。

Props.txt
rootCer="/services/EGcompanyInternalCA/ABC_EGcompany_G2_Root_CA.cer"
rootCerLabel="'ABC EGcompany G2 根 CA'"
IHS_HOME="/usr/IhsInstalldir"

AddRootCA.sh

#!/usr/bin/ksh

。道具.txt
addRootCertificates(){
echo "在密钥库中添加 root 和中间节点"
$IHS_HOME/bin/gskcapicmd -cert -add -file $rootCer -db $IHS_HOME/InteralSSL/key.kdb -stashed -label $rootCerLabel
echo "在密钥库中添加了 root 和 intermidiate。"
}

sh -x AddRootCA.sh

+ rootCer=/services/EGcompanyInternalCA/ABC_EGcompany_G2_Root_CA.cer
+ rootCerLabel='ABC EGcompany 根 CA'
+ IHS_HOME=/usr/IhsInstalldir
+ echo "在密钥库中添加根和中间节点"
+ /usr/IhsInstalldir/bin/gskcapicmd -cert -add -file /services/EGcompanyInternalCA/ABC_EGcompany_G2_Root_CA.cer -db /usr/IhsInstalldir/InteralSSL/key.kdb -stashed -label 'ABC EGcompany Root CA'

CTGSK3020W 无效对象:EGcompany

-命令用法- 对象动作描述 ------ ------ ------------ -locale 设置显示语言

【问题讨论】:

标签: bash unix websphere ksh ibmhttpserver


【解决方案1】:

在哪里引用很重要。您可以在Props.txt 中添加任意数量的引号,如果您在AddRootCA.sh 中错误地引用,您将无法获得所需的结果。

道具.txt:

rootCer="/services/EGcompanyInternalCA/ABC_EGcompany_G2_Root_CA.cer"
rootCerLabel='ABC EGcompany G2 Root CA'
IHS_HOME="/usr/IhsInstalldir"

AddRootCA.sh:

#!/usr/bin/ksh

. Props.txt
addRootCertificates(){
    echo "Adding root and intermediate in key-store"
    $IHS_HOME/bin/gskcapicmd -cert -add -file "$rootCer" -db "$IHS_HOME/InteralSSL/key.kdb" -stashed -label "$rootCerLabel"
    echo "Added root and intermediate in key-store."
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多