如何在外壳中使用 'if-fi' 为特定案例提供多行命令 SSHPASSs


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;
'"

最新更新