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行:语法错误:意外的文件结尾
我正在寻找这个用例的工作示例,或者任何相关的帮助都会有很大的帮助。
我在谷歌搜索结果中尝试了很多例子,我无法做到这一点
答案 0 :(得分: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;
'"