欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-13 11:50:47
...
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


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