5

プロキシ設定を設定する簡単なスクリプトを作成しようとしています。実際には、コマンドhttp_proxy ftp_proxy https_proxy ...で変数をエクスポートするだけです。exportしかし、export現在のシェルとサブシェルのみに影響し、他には影響しないため、シェルから手動で実行すると機能しません。.bashrcまた、デフォルトのプロキシ設定ではないため、呼び出したくありません。

http_proxyでは、変数をエクスポートしてグローバルに有効にするにはどうすればよいですか?

4

4 に答える 4

20

昔は、仕事が終わった後にプロキシ設定を設定してから設定を解除することにもうんざりしていました。設定および設定解除機能を実行するためのコマンドの簡単なコマンドがあれば、私はいつも望んでいました。

次に、.bashrc で新しい関数を作成すると、bash-tab-completion を使用してコマンド ラインから呼び出すことができると考えました。さらに時間を節約できます。

これは私がしたことです:

$ vi ~/.bashrc
function setproxy() {
    export {http,https,ftp}_proxy='http://proxy-serv:8080'
}

function unsetproxy() {
    unset {http,https,ftp}_proxy
}

$ . ~/.bashrc

今私はただします:

$ setproxy

また

$ setp<TAB> and <ENTER>

そして、それは私のためにプロキシを設定します。お役に立てれば。

于 2012-10-27T14:48:47.523 に答える
4

スクリプトでこれを行う代わりに、これを関数にします。この関数は、次のように宣言できます.bashrc

function set_custom_proxy() {
  export http_proxy='http://myproxy:3128'
}

次に、現在のシェルでこれを実行します。

echo $http_proxy
set_custom_proxy
echo $http_proxy

関数内の変数の変更は関数に対してローカルではないため、機能します。

編集

local参考: 関数でローカル変数を使用するには、次のキーワードを使用する必要があります。

atest="Hello World"
btest="Hello World2"
function my_func() {
  local atest;
  atest="Hello World3"
  btest="Hello World4"
  echo $atest
  echo $btest
}
echo $atest
echo $btest
my_func
echo $atest
echo $btest
于 2012-10-27T12:27:37.660 に答える
2

にアクセスできないため、現在のシェルのコンテキストで実行されるコマンドを.bashrc使用でき、source設定したすべての変数が利用可能になります。

source ./script
于 2012-10-27T08:59:48.283 に答える