shell脚本远程登录并启动程序报错:没有那个文件或目录

xiongsheng 发布于 2015/06/30 15:52
阅读 757
收藏 0

在一台服务器上通过脚本,登录到另外一台服务器上,并打开相应目录,启动程序。但是提示登录成功后,显示没有文件或目录

1.登录脚本expect_ssh.sh

#!/usr/bin/env expect
set HOST [lindex $argv 0]
set PASSWD [lindex $argv 1]
spawn ssh hadoop@$HOST
expect  "(yes/no)?" { send "yes\r" }
expect "*password:" { send "$PASSWD\n" }
interact


2.启动脚本flux_start_all.sh

#!/bin/sh
# ---------------------------------------
# find BIN_HOME
BIN_HOME=`dirname "$0"`
BIN_HOME=`cd "$BIN_HOME"; pwd`
echo $BIN_HOME
export CONFILE=./IpAndProcessID.ini
if [ -f $CONFILE ]
then
        echo "CONFILE exist..."
else
        echo "CONFILE is not exist, exit."
        exit
fi
while read LINE
do
        length=`expr ${#LINE} - 1`
        host=`echo "${LINE:0:length}"| awk -F ';' '{print $1}'`
        echo $host
        processid=`echo "${LINE:0:length}"| awk -F ';' '{print $2}'`
        echo $processid
        path=`echo "${LINE:0:length}"| awk -F ';' '{print $3}'`
        echo $path

        $BIN_HOME/expect_ssh.sh $host password

        cd /export/home/process/ailk-feel/$processid/$path(问题出现点
        echo /export/home/process/ailk-feel/$processid/$path
        yes | /export/home/process/ailk-feel/$processid/$path/start.sh
done < $CONFILE

3.配置文件IpAndProcessID.ini

    10.10.121.26;c3-cac-flux-core-v2.0-a;bin/flux

结果提示:(实际上目录是存在的)

其中登录到另外一台服务器后,会停留一段时间,卡住了,然后才会提示:没有那个文件或目录,

求帮助

加载中
0
实践哥
实践哥
问题有点混乱。
0
Feng_Yu
Feng_Yu
不建议使用expect的形式登录ssh。有个更好用的sshpass,比expect好用多了
0
终曲
终曲
问题很奇怪,feel02上可以跑的脚本,在engine06上报错,其中联系是?
返回顶部
顶部