如何处理值中的 space - Unix KSH 脚本

How to handle space in value - Unix KSH script

这方面的任何帮助都会很棒。这是一个脚本,它使用 Props.txt 中的变量 rootCerLabel 通过命令在密钥库中添加证书,但命令失败,因为变量 rootCerLabel 的值具有 spaces 在其中,我不确定如何处理值中的 space。我试过转义它也会反斜线,但没有成功。

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(){
回声 "Adding root and intermidiate in keystore"
$IHS_HOME/bin/gskcapicmd -cert -add -file $rootCer -db $IHS_HOME/InteralSSL/key.kdb -stashed -label $rootCerLabel
回声 "Added root and intermidiate in keystore."
}

sh -x AddRootCA.sh

+ rootCer=/services/EGcompanyInternalCA/ABC_EGcompany_G2_Root_CA.cer
+ rootCerLabel='ABC EGcompany Root CA'
+ IHS_HOME=/usr/IhsInstalldir
+回声"Adding root and intermidiate in keystore"
+ /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 设置显示语言

在哪里引用很重要。 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."
}