-1
 sshpass -p "123456789" ssh -T jadams@192.168.1.85 <<'EOSSH'
    if [-d "$HOME/ajith/apache-tomcat-7.0.63/webapps/$tag_version" ] then
          sh $HOME/ajith/apache-tomcat-7.0.63/bin/shutdown.sh &&
          rm -rf  $HOME/ajith/apache-tomcat-7.0.63/webapps/$tag_version && 
          mkdir $HOME/ajith/apache-tomcat-7.0.63/webapps/$tag_version
    fi
    EOSSH

上面的代码是我正在使用的 shell 脚本的一部分

问题 :

我面临的问题是我正在尝试执行一组命令以在远程 tomcat 服务器上部署 webapp,而我感兴趣的问题是我希望能够使用 sshpass 执行多行命令,但我是得到如下错误:

-bash:第 2 行:语法错误:文件意外结束

我正在为这个用例寻找一个工作示例,或者任何相关的帮助都会有很大帮助。

我从谷歌搜索结果中尝试了很多例子,但我无法做到

4

1 回答 1

0

我能够使用下面提到的代码解决问题并达到我的
目的:

sshpass -p "password" ssh $server_name@$server_ip bash -c "'
    if [ -d "/home/motish/ajith/apache-tomcat-7.0.63/webapps/$tag_version" ]; then
        rm -rf /home/motish/ajith/apache-tomcat-7.0.63/webapps/$tag_version;
        mkdir /home/motish/ajith/apache-tomcat-7.0.63/webapps/$tag_version;
    fi
    else
        mkdir /home/motish/ajith/apache-tomcat-7.0.63/webapps/$tag_version;
    exit;
    '"
于 2016-05-20T06:22:26.850 回答