Xubuntuでapt-getのプロキシとグローバルプロキシを設定します ここのように ですが、コマンドは1つだけです。どうですか?このコードの問題は何ですか? ~/.functions
に保存し、. ~/.functions
ファイルに.bashrc
行を追加し、.bashrc
ファイルをリロードすると、7行目のEOFに関するエラーが表示されます。
正しいコード:
myproxy="http://proxy.server:port/"
proxyhost="proxy.server"
myport=port
# Set Proxy
function setproxy() {
Sudo tee -a /etc/environment << EOF
http_proxy="$myproxy"
https_proxy="$myproxy"
ftp_proxy="$myproxy"
no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
HTTP_PROXY="$myproxy"
HTTPS_PROXY="$myproxy"
FTP_PROXY="$myproxy"
NO_PROXY="localhost,127.0.0.1,localaddress,.localdomain.com"
EOF
gsettings set org.gnome.system.proxy mode manual
gsettings set org.gnome.system.proxy.http Host "$proxyhost"
gsettings set org.gnome.system.proxy.http port "$myport"
gsettings set org.gnome.system.proxy.https Host "$proxyhost"
gsettings set org.gnome.system.proxy.https port "$myport"
Sudo tee /etc/apt/apt.conf.d/95proxies << EOF
Acquire::http::proxy "http://$proxyhost:$myport/";
Acquire::ftp::proxy "ftp://$proxyhost:$myport/";
Acquire::https::proxy "https://$proxyhost:$myport/";
EOF
}
#Unset Proxy
function unsetproxy() {
Sudo rm /etc/environment
Sudo tee /etc/environment << EOF
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
EOF
gsettings set org.gnome.system.proxy mode none
Sudo rm /etc/apt/apt.conf.d/95proxies
}
ヒアドキュメントを使用する場合、ヒアドキュメントの制限文字列(ここではEOF
)は、その行に単独である必要があります。他には何も、スペースもインデントもありません。したがって、コードは次のようになります。
Sudo tee /etc/apt/apt.conf.d/95proxies << EOF
Acquire::http::proxy "http://$proxyhost:$myport/";
Acquire::ftp::proxy "ftp://$proxyhost:$myport/";
Acquire::https::proxy "https://$proxyhost:$myport/";
EOF
少なくともシェルを再起動することなく、nothttp_proxyのようなグローバル環境変数を設定できます。次の3つのいずれかを実行できます。
http_proxy=8.8.8.8 ftp_proxy=8.8.8.8 firefox
http_proxy=8.8.8.8 ftp_proxy=8.8.8.8 bash firefox exit
いずれも1つのコマンドとして起動されるスクリプトで実行できますが、最初に明確にする必要があるのは何ですか?