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

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

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

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

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

当然,也可以直接将参数写死在脚本里面,比如,想启动英文界面,则
1、对于 WAS 8.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、对于 WAS 6.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、对于 WAS 5.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、对于 WAS 4.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=en com.ibm.gsk.ikeyman.Ikeyman


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

猜你喜欢

转载自yulimin.iteye.com/blog/1765205