在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中把交叉编译器的绝对路径加上就可以了