Make it easy to scp/ssh

由于经常需要登录服务器、在服务器与本地之间传送文件,所以花了点时间写了个脚本,以提高效率

脚本内容如下(vi to_my_server.sh; chmod +x to_my_server.sh; cat to_my_server.sh):

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
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash
#IP_OR_DOMAIN="www.waketzheng.top"
IP_OR_DOMAIN=43.139.125.122
USER="root"
#PORT=22
#PRI=~/.ssh/id_rsa
#passwd='my password is xxx'
 
if [ "$passwd" ]; then
  echo "$passwd"
fi
 
HOST=$USER@$IP_OR_DOMAIN
if [ $1 ]; then
  cmd="scp"
  if [ $PRI ]; then
    cmd="$cmd -i $PRI"
  fi
  if [ $PORT ]; then
    cmd="$cmd -P $PORT"
  fi
  cmd="$cmd -r "
  if [ $2 ]; then
    echo $1 |grep -q '/'
    if [ $? -eq 0 ]; then
      cmd="$cmd$HOST:$1 $2"
    else
      cmd="$cmd$HOST:~/$1 $2"
    fi
  else
    cmd="$cmd$1 $HOST:~"
  fi
else
  cmd="ssh"
  if [ $PRI ]; then
    cmd="$cmd -i $PRI"
  fi
  if [ $PORT ]; then
    cmd="$cmd -p $PORT"
  fi
  cmd="$cmd $HOST"
fi
echo "--> $cmd"
sh -c "$cmd"

  

使用:

1. 登录服务器

./to_my_server.sh

2. 从本地传文件到服务器(会传到服务器的~目录下)

./to_my_server.sh /path/to/local/file

3. 从服务器拷贝文件到本地

./to_my_server.sh /abspath/of/file/in/server /local/folder/or/file
# 例如:
./to_my_server.sh "~/.ssh/id_rsa.pub" .

 

posted @   waketzheng  阅读(146)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示