[Shell] 按需手动设置终端某个命令的代理
很多人在使用代理软件的时候,喜欢开全局模式,但是我却不喜欢这样,我喜欢在需要的时候手动开启,原因就不解释了。
以往在需要手动开启的时候,我会在命令执行前导出一下设置:
1 2 3 4 5 6 7 8 9 10 |
|
这样做有点麻烦。
后来我想到了一个办法:我写了一个脚本,把要执行的命令作为参数放在脚本里面执行。在这个脚本执行命令之前,先设置代理,然后正式执行命令。 由于脚本是在子进程中执行的,所以在脚本里面做的任何设置都不会影响到当前进程。脚本结束后,设置自动消失。所以这是一个非常巧妙的办法。
这个脚本非常简单,内容如下:
1 2 3 4 5 6 7 8 9 10 11 |
|
脚本下载:proxy.sh,记得去掉后缀(非必须)。
我把它放在了/usr/local/bin/proxy
,记得加上可执行权限(/usr/local/bin
在我的PATH里面)。
使用方法:
1 2 3 4 5 |
|
非常地简单明了。
灵感来源:tsocks。