如果在终端直接运行scp命令,会看到类似的输出
scp train.html root@your-host:/path/of/your/folder train.html 100% 149KB 149.4KB/s 00:00
()
如何获得上面的输出?
train.html 100% 149KB 149.4KB/s 00:00
依靠script命令,可以运行scp,并将输出结果写入日志文件
script -q -c \"scp train.html root@your-host:/path/of/your/folder" > scp.log
(println "run the following command now:") (println syn-cmd) (println (exec syn-cmd)) (set 'in-file (open "scp.log" "read")) (while (read-line in-file) (println (current-line))) (close in-file)
现在结果打印出来了
train.html 100% 149KB 149.4KB/s 00:00
1. script运行scp的结果return code如何获取,虽然有-e参数,但是newlisp exec好像没有得到
2. scp.log里面有多行,但是用(while ... (println)) 只显示了最后一行,有点奇怪。
3. 最好能够实时的获得scp的输出进度,而不是等完成之后。