利用winscp,putty实现windows下编写linux程序

(2010-12-01 10:13:31)

标签:

杂谈

本文讲的方案实现以下功能:利用winscp和putty的脚本功能,实现在window平台上编写代码,上传到linux进行编译,然后取编译结果。需要用到3个文件,分别如下:

(1) synchronize.bat

----------------------------------------

:: 需要更改 WinSCP.exe 和 putty.exe 的路径

:: 需要设置的变量

@SET localpath=E:\work\projectname
@SET remotepath=/home/username/work/projectname
@SET server=192.168.1.168
@SET port=22
@SET username=username
@SET password=123456
@SET winscp="D:\Program Files\WinSCP\WinSCP.exe"
@SET putty="D:\Program Files\WinSCP\PuTTY\putty.exe"
:: 发生文件到linux机器
%winscp% /console /script=synchronize.script /parameter %username%
%password% %server% %port% %localpath% %remotepath%
echo "Send Done!"
:: 创建make shell
echo cd %remotepath% > make.sh
:: echo make clean >> make.sh
echo make 1^>make.out 2^>make.out
>> make.sh
:: 执行make
%putty% -pw %password% %username%@%server% -P %port% -m
make.sh
echo "Make Done!"
:: 把make的结果传递到客户端
%winscp% /console /script=aftermake.script /parameter %username%
%password% %server% %port% %localpath% %remotepath%
:: 显示make后的结果
cat make.out
pause
----------------------------------------
(2) synchronize.script
----------------------------------------
option confirm off
# 链接服务器,打开会话
# %1 用户名 %2 密码,%3 服务器ip,%4服务器端口
open %1%:%2%@%3%:%4%
# 把工作机上的文件拷贝到开发机,%1% 和 %2% 是传递的参数
put %5%\Makefile* %6%/
put %5%\*.h %6%/*.h
put %5%\*.cpp %6%/*.cpp
# 关闭会话
close
# 退出
exit
----------------------------------------
(3) aftermake.script
---------------------------------------
option confirm off
# 打开会话
open %1%:%2%@%3%:%4%
# 拉取编译后的结果文件,就是make输出
get %6%/make.out %5%\make.out
# 拉取 make 后生成的文件
get %6%/bin %5%\
# 关闭会话
close
exit
---------------------------------------

说明:

winmake可以用命令的方式把windows上的文件传到linux,并做到自动编译。它可以方便喜欢在windows上编写服务器程序的同学。以往在windows上编好程序后,需要用winscp把改动过的文件拷贝到linux,然后在linux环境下编译,这样做很麻烦。

winmake可以用一个脚本把这几步一步到位,并且让程序的开发者不需要ssh到linux服务器就看到编译结果。不幸的是,我们需要做一些前期的配置。

使用:

(1)把winmake.zip解压到工作目录,比如:E:\work\projectname

(2)修改winmake中的脚本文件。

1. synchronize.bat : 设置脚本文件中的变量值,配置linux机器的ip和端口,需要更改 winscp 和

putty 的路径。

2. synchronize.script : 传文件脚本,需要更改传哪些文件。

3. aftermake.script: 拉取编译结果的脚本,需要更改传哪些文件。

(3)当编写好代码后,在 工作 目录下 运行 synchronize.bat ,便可以看到编译结果。