如何处理价值空间-Unix KSH脚本

时间:2018-07-04 15:14:40

标签: bash unix websphere ksh ibmhttpserver

任何对此的帮助都会很大。这是一个脚本,该脚本使用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

。 Props.txt
addRootCertificates(){
        回声“在密钥库中添加根和中间”
        $ IHS_HOME / bin / gskcapicmd -cert -add -file $ rootCer -db $ IHS_HOME / InteralSSL / key.kdb -stashed -label $ rootCerLabel
        回显“在密钥库中添加了根和中间”。
}

sh -x AddRootCA.sh

+ rootCer = / services / EGcompanyInternalCA / ABC_EGcompany_G2_Root_CA.cer
+ rootCerLabel ='ABC EGcompany Root 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设置显示语言

1 个答案:

答案 0 :(得分:1)

在哪里报价很重要。您可以根据需要在Props.txt中添加尽可能多的引号,如果在AddRootCA.sh中错误地引用,则不会得到所需的结果。

Props.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."
}