随笔 - 192,  文章 - 0,  评论 - 2,  阅读 - 25万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
复制代码
 1 #!/bin/bash
 2 
 3 ty=$1
 4 local_dir=$2
 5 remote_ip=$3
 6 remote_dir=$4
 7 
 8 showUsage() {
 9         echo -e "\033[31m ty local_dir remote_ip remote_dir \033[0m"
10         echo -e "\033[32m ty = l(local to remote); ty = r(remote to local) \033[0m"
11         echo -e "\033[32m local_dir = local file or local dir \033[0m"
12         echo -e "\033[32m remote_dir = remote file or remote dir \033[0m"
13 }
14 
15 #Copy the local file to the remote server
16 l_to_r() {
17 expect -c "
18         spawn scp -r ${local_dir} 1234@${remote_ip}:${remote_dir}
19         expect {
20         \"*password\" {set timeout 300; send \"abcd\r\";}
21         }
22 
23 expect eof"
24 }
25 
26 #Copy the remote file to the local server
27 r_to_l() {
28 expect -c "
29         spawn sudo scp -r 1234@${remote_ip}:${remote_dir} ${local_dir}
30         expect {
31         \"*password\" {set timeout 300; send \"abcd\r\";}
32         }
33 
34 expect eof"
35 }
36 
37 case $1 in
38         "l")
39                 l_to_r
40         ;;
41         "r")
42                 r_to_l
43         ;;
44         *)
45                 showUsage
46         ;;
47 esac
复制代码

使用方法:

  1、1234替换为ssh account

  2、abcd替换为ssh passwd

  示例:./scp.sh r ~/MOUNT 192.168.1.110/home/123.cpp

 

posted on   Malphite  阅读(988)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示