如何处理值中的 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."
}
这方面的任何帮助都会很棒。这是一个脚本,它使用 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."
}