【发布时间】:2013-12-16 21:18:19
【问题描述】:
这里是脚本的一个片段:
ssh $(hostname | cut -f1 -d1)2 " echo 'Secondary Node ';
OH=$(env | grep ORACLE_HOME | cut -c13-55);
CN=$(env | grep CONTEXT_NAME | cut -c14-40);
cd $OH/appsutil/scripts/$CN;
./myscript.sh pass=****;
clear;
./myscript.sh pass=****;"
错误:
错误-ksh: hostname1/appsutil/scripts/erpaaps1_apps1s/myscript.sh: not found
脚本会在通过 SSH 连接到第二台机器之前评估第一台机器上的变量。发生这种情况时,它会进入错误的目录(因为它从第一台服务器而不是它通过 SSH 连接的服务器获取值)。
我也试过这样的脚本:
ssh $(hostname | cut -f1 -d1)2 ' echo "Secondary Node ";
OH=$(env | grep ORACLE_HOME | cut -c13-55);
CN=$(env | grep CONTEXT_NAME | cut -c14-40);
cd $OH/appsutil/scripts/$CN;
./myscript.sh pass=****;
clear;
./myscript.sh pass=****;'
错误:-ksh: hostname1/appsutil/scripts/erpaaps1_apps1s/myscript.sh: not found
它仍然会在第二台机器上运行之前评估来自第一台机器的变量。
如果我使用脚本并在本地远程机器上尝试它,它会在正确的目录下按预期工作。
【问题讨论】:
-
请用您收到的错误消息更新您的答案。
-
远程机器上是否有两个脚本,一个名为
.myscript.sh,一个名为myscript.sh(一个带点,一个不带点)?如果没有,你为什么要同时尝试? -
DBA 说他需要运行脚本两次。我不知道为什么。