---
title: "终端命令行如何穿越？"
date: 2018-09-22T14:39:46.000Z
author: Z.SHINCHVEN
tags: [Commandline, terminal, Bash, Proxy, fuck GFW]
canonical: https://atlassc.net/2018/09/23/quick-proxy-in-terminal
---
开发的时候经常遇到在命令行里访问GitHub和者某些篱笆外的资源不太方便的情况，于是写了一个简单的脚本来快捷实现命令行翻篱笆，原理很简单，就是套娃。

## 创建一个可执行文件作为命令使用

1. 创建一个文件，保存到/usr/local/bin，这样之后它会被添加到path中，便可以在bash 中当作命令使用

```bash
vim /usr/local/bin/proxy
```

2. 编写翻篱笆脚本

```bash
#!/usr/bin/env bash

# 申明穿越路径
PROXY=<YOUR_PROXY_URL>

# 设置穿越环境变量
export use_proxy=yes
export all_proxy=$PROXY
export http_proxy=$PROXY
export https_proxy=$PROXY

# 运行需要穿越的命令或脚本
$* 
```

3. 增加运行权限

```bash
chmod +x /usr/local/bin/proxy
```

4. 使用

```bash
proxy <YOUR_NORMAL_COMMAND>
```

## 运行原理

- 新起一个bash实例；
- 设置全局代理；
- 拼接运行传入命令；
- 结束bash实例；
