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服务器上部署网络应用程序,我感兴趣的是,我希望能够使用sshpass执行多行命令,但我遇到了以下错误:
-bash:第2行:语法错误:文件意外结束
我正在为这个用例寻找一个工作示例,或者任何相关的帮助都会有很大帮助。
我已经尝试了许多来自谷歌搜索结果的例子,但我无法做到
我能够使用下面提到的代码解决问题,并达到我的
目的:
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;
'"