大佬求解,如何在win10的bat脚本中远程执行linux脚本

大佬们,现在我这有一个需求。需要在win10上写一个bat脚本,然后ssh远程连接centos,然后在centos中执行一些脚本,包括文件的增删改和赋权等。bat脚本咋写啊。我写的脚本登录成功后就不执行后续命令了

@echo off

ssh [email protected]
cd /tmp/sql/dev
find . -type f ! -name "login.sql" ! -name "dev_sql.sh" -exec rm {} +

pause

本地设置了无密码登录

你需要把命令通过ssh传递进去。
原有基础上可以做此修改:

@echo off
set [email protected]
set CMD="cd /tmp/sql/dev && find . -type f ! -name 'login.sql' ! -name 'dev_sql.sh' -exec rm {} +"

ssh %REMOTE_HOST% %CMD%
if %errorlevel% neq 0 (
    echo SSH command failed
    pause
    exit /b %errorlevel%
)

pause

ssh 还可以加 -t 参数,从而执行一些需要交互式界面的命令。 -t 会在cmd中创建一个伪终端。

6 个赞

解决了,大佬太牛了,感谢感谢。我整了几个小时没找到方案

From #develop:qa to 开发调优