sudo gem --proxy <PROXY> 或 bash 函数的别名?
Alias to sudo gem --proxy <PROXY> or bash function?
我有一个脚本,我 运行 在名为 proxy.sh 的代理后面时自动设置各种代理设置,例如:
http_proxy=<PROXY>
https_proxy=<PROXY>
一旦我 运行 这个脚本,如果它可以自动拦截 ruby gem
命令并添加代理信息,我会很高兴:
sudo gem install .....
=> sudo gem install --http-proxy=<PROXY> ....
起初我想写一个别名,但我知道我需要实际制作一个函数?对吗?
我该如何处理?
如果我 运行 proxy.sh
输入:sudo gem install TEST
会自动 运行 sudo gem install --http-proxy=<PROXY> TEST
你可以做一个别名。在 ~/.bash_aliases
中:
alias sudo="sudo "
alias gemproxy="gem install --http-proxy=<PROXY>"
如果您想将别名 gemproxy
与 sudo
一起使用,sudo
别名(带 space)很重要。
编辑:拦截gem install
,你可以在你的.bash_aliases
中添加这个:
gem() {
if [[ $@ == install* ]]; then
arg=${@#"install "}
command gem install --http-proxy=PROXY $arg
fi
}
但是有了这个,即使您不支持它,您也将始终导出代理。可以加个验证看看环境变量http_proxy
是否设置了
我有一个脚本,我 运行 在名为 proxy.sh 的代理后面时自动设置各种代理设置,例如:
http_proxy=<PROXY>
https_proxy=<PROXY>
一旦我 运行 这个脚本,如果它可以自动拦截 ruby gem
命令并添加代理信息,我会很高兴:
sudo gem install .....
=> sudo gem install --http-proxy=<PROXY> ....
起初我想写一个别名,但我知道我需要实际制作一个函数?对吗?
我该如何处理?
如果我 运行 proxy.sh
输入:sudo gem install TEST
会自动 运行 sudo gem install --http-proxy=<PROXY> TEST
你可以做一个别名。在 ~/.bash_aliases
中:
alias sudo="sudo "
alias gemproxy="gem install --http-proxy=<PROXY>"
如果您想将别名 gemproxy
与 sudo
一起使用,sudo
别名(带 space)很重要。
编辑:拦截gem install
,你可以在你的.bash_aliases
中添加这个:
gem() {
if [[ $@ == install* ]]; then
arg=${@#"install "}
command gem install --http-proxy=PROXY $arg
fi
}
但是有了这个,即使您不支持它,您也将始终导出代理。可以加个验证看看环境变量http_proxy
是否设置了