iKeyMan脚本吃掉%*$*无法接收命令行参数之解

80304053 2013-01-07

iKeyman工具是一个图形化用户界面的数字证书管理工具。通过它可以创建一个新的密钥库、测试数字证书、增加CA根到密钥库、从一个密钥库拷贝证书到另一个密钥库,以及从CA机构请求和接收数字证书、设置默认的密钥、更改密码等等。

但是由于IBM产品中所附带的脚本中对接收命令行的参数没有进行有效的处理,以致于想通过命令行进行传递定制的参数无法顺利进行。

对于AIX、Linux、Solaris可以通过在ikeyman.sh中的-classpath$CP前增加$*来接收命令行参数

而在Windows下则可以通过在ikeyman.bat(WAS4.0版本)、ikeyman_old.bat(WAS5.1及以上版本)文件中的-classpath%CP%前加上%*来接收命令行参数

当然,也可以直接将参数写死在脚本里面,比如,想启动英文界面,则

1、对于WAS8.0/8.5打开WAS_HOME\bin目录下的ikeyman_old.bat文件,在第18行

start"iKeyMan""%JAVA_HOME%\jre\bin\javaw"-Djava.endorsed.dirs="%WAS_ENDORSED_DIRS%"-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

加上-Duser.language=en

start"iKeyMan""%JAVA_HOME%\jre\bin\javaw"-Djava.endorsed.dirs="%WAS_ENDORSED_DIRS%"-Duser.language=en-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

2、对于WAS6.1/7.0打开WAS_HOME\bin目录下的ikeyman_old.bat文件,在第18行

start"iKeyMan""%JAVA_HOME%\jre\bin\javaw"-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

加上-Duser.language=en

start"iKeyMan""%JAVA_HOME%\jre\bin\javaw"-Duser.language=en-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

3、对于WAS5.1/6.0打开WAS_HOME\bin目录下的ikeyman_old.bat文件,在第11行

start"iKeyMan""%JAVA_HOME%\bin\javaw"-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

加上-Duser.language=en

start"iKeyMan""%JAVA_HOME%\bin\javaw"-Duser.language=en-Duser.language=en-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

4、对于WAS4.0打开WAS_HOME\bin目录下的ikeyman.bat文件,在第12行

start%JAVA_HOME%\bin\javaw-classpath%CP%com.ibm.gsk.ikeyman.Ikeyman

加上-Duser.language=en

start%JAVA_HOME%\bin\javaw-classpath%CP%-Duser.language=encom.ibm.gsk.ikeyman.Ikeyman

修改保存后,再启动之就可以显示英文界面了。

相关推荐