执行脚本时出现错误消息“jrcmd:未找到”

执行脚本时出现错误消息“jrcmd:未找到”

当我执行脚本时,出现以下错误:

Ksh:第 1 行:jrcmd:未找到

当我在 weblogic 服务器中执行相同的命令时,我得到输出,但在脚本内执行相同的命令时,它会给出错误消息。

这是脚本:

 #!/bin/ksh 
process_id=`ssh -q account@servername -n "pa -ef |grep weblogic|great -v "grep""|awk '{print $2}'
ssh -q account@servername -n "jrcmd $process_id print_threads > /tmp/thread.txt" 

我可以期待任何答复吗?

答案1

如果您jrcmd从脚本内部调用,则必须提供可执行文件的完整路径,jrcmd而脚本中的情况并非如此。

代码在 Weblogic 中运行的原因是 的路径jrcdm已经被识别$JROCKIT_HOME/bin/jrcmd。当您在终端中运行脚本时,必须提供jrcdm其完整路径。

打开终端并设置环境,例如:

setenv JROCKIT_HOME weblogic/bin/ #replace weblogic/bin/ by the correct path to jrcdm. 

然后运行该脚本,该脚本应如下所示:

#!/bin/ksh 
process_id=`ssh -q account@servername -n "pa -ef |grep weblogic|great -v "grep""|awk '{print $2}'
ssh -q account@servername -n "$JROCKIT_HOME/jrcmd $process_id print_threads > /tmp/thread.txt" 

相关内容