windows7主机上执行bat文件

在windows7主机上执行bat文件,实现ssh登录linux电脑并执行一个编译脚本遇到的问题

一、问题:打开cmd,执行ssh提示:ssh不是内部或外部命令,也不是可运行的程序。
原因:是电脑上没有安装ssh。
解决办法:从geihub上下载并安装ssh,配置环境变量,再重新打开cmd,执行ssh就可以了。网上其他老哥整理的 链接:[https://www.cnblogs.com/530263009QQ/p/17454168.html]

二、编写bat文件,这是我写的,第一次尝试编写bat文件,多有不足,还望指正。其实用百度搜索“bat实现ssh登录后执行shell脚本”的时候,AI会自动生成一个样例,复制出来改吧改吧就差不多了。。。

echo off

set REMOTE_USER="shark"
set REMOTE_IP="192.168.0.102"
set REMOTE_PORT="22"
set REMOTE_SHELL="/mnt/hgfs/lib_bulid/cmake_build.sh p18-l2-d"
set REMOTE_PATH="/mnt/hgfs/lib_bulid"
set REMOTE_BUILDSH="cmake_build.sh -debug"

:: 标题
@title all_build

:: 显示当前路径
echo ssh username---[%REMOTE_USER%]
echo ssh ip---------[%REMOTE_IP%]
echo ssh port-------[%REMOTE_PORT%]
echo ssh path-------[%REMOTE_PATH%]
echo ssh shell------[%REMOTE_SHELL%]

echo %cd%
:: 用ssh连接linux主机 ssh -p 端口 用户名@目标ip地址 
echo "ssh connect linux..."
:: ssh -p %REMOTE_PORT% %REMOTE_USER%@%REMOTE_IP% " %REMOTE_SHELL%; exit;"
ssh -p %REMOTE_PORT% %REMOTE_USER%@%REMOTE_IP% "cd %REMOTE_PATH%; %REMOTE_SHELL%; exit;"

echo %errorlevel%

pause

三、执行bat遇到的问题:
1、如果提示:CMake Error: The source directory “/home” does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUl.
需要在执行脚本前先cd到脚本路径下,在用绝对路径的方式执行脚本。
2、提示交叉编译器找不到,在cmakelist中把交叉编译器的绝对路径加上就可以了
在这里插入图片描述

Windows系统中使用SSH(Secure Shell)进行免密登录通常需要借助第三方工具,如PuTTY、Pageant等。这里我将为你提供一个基本的批处理脚本示例,假设你已经安装了PuTTY,并且使用了Pageant作为SSH密钥对管理器: ```batch @echo off set SSH_DIR=C:\path\to\your\pageant.exe %~dp0 # 设置Pageant的位置和当前脚本的目录 set PASS_FILE=C:\path\to\your\private_key.pem # 设置私钥文件路径 REM 启动Pageant并加载私钥 start "" %SSH_DIR% %PASS_FILE% REM 使用PuTTY连接到远程服务器,替换"username"和"hostname"为实际值 timeout /t 10 putty -load "SSH_NAME" -ssh username@hostname pause ``` 在这个脚本中: - `@echo off` 关闭命令行回显,使得脚本执行更整洁。 - `set SSH_DIR` 和 `set PASS_FILE` 分别设置Pageant的路径和私钥文件路径。 - `start "" %SSH_DIR% %PASS_FILE%` 启动Pageant并自动加载私钥,`""` 参数表示无标题栏。 - `timeout /t 10` 延迟10秒,给Pageant足够时间加载密钥。 - `putty -load "SSH_NAME" -ssh username@hostname` 使用PuTTY连接到服务器,`SSH_NAME` 是你在PuTTY配置中为这个服务器设置的名称。 注意: 1. 你需要将`SSH_DIR`、`PASS_FILE`、`username`和`hostname`替换为实际的路径和用户名/主机名。 2. 在PuTTY中,需要为SSH配置一个会话(Session),并将其保存为一个名字(如"SSH_NAME"`),以便在此脚本中调用。 3. 执行此脚本前,确保PuTTY和Pageant已添加到系统的PATH环境变量中,或者提供完整的路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值