lynx
私のシステムには、プロキシを通過できないこれらのスクリプトに依存するスクリプトがたくさんあります。具体的には、ユーザーIDフィールドとパスワードフィールドを除くグローバルプロキシ設定を正常に取得するには、代わりにコマンドラインで使用することをお勧めしますlynx
。-pauth
lynx -pauth=proxyuserid:proxypass
Lynxを間接的に呼び出すので簡単にできません。しかし、すべてのLynx呼び出しにグローバルにこれらの設定を適用するにはどうすればよいですか?構成ファイル - プロキシ認証に関連するコンテンツが見つかりません。同じ名前のbashシェルラッパーはlynx
実際のlynx
withを呼び出します-pauth
。どういうわけか動作させることはできません。
修正する。プロキシを完全に説明する環境変数があります。たとえば、
http_proxy=http://userid:pass@proxyserver:port
Lynxはプロキシサーバーとポートを正しく読み取りますが、何らかの理由でユーザー/パスワードフィールドを読み取ることはできません(例:wgetとは異なり)。
だから今、私はlynxラッパースクリプトを次のように使用します。
envproxy=${http_proxy%@*}
/usr/bin/lynx -pauth=${envproxy:7} "$@"
答え1
lynx
パスを指定せずにスクリプト/プログラムを呼び出すと、ラッパースクリプトに置き換えることができるため、lynx
システムは変数にリストされているディレクトリからそれを検索しますPATH
。
lynx
たとえば、と入力して場所を見つける必要がありますtype lynx
。
私の考えではそうかもしれないと思います/usr/bin/lynx
。
PATH
呼び出されたスクリプト/プログラムの変数は、場所(たとえばlynx
)の前に別のディレクトリ(たとえば)がなければなりません。そうでない場合は、拡張が必要な場合があります。/usr/local/bin
lynx
/usr/bin
PATH
例:
設定が次のと仮定PATH
します。
PATH=/usr/bin:/bin:/sbin:/usr/bin/X11
あなたはそれを拡張することができます
PATH="/usr/local/bin:$PATH"
PATH
スクリプト/プログラム用に設定された起動スクリプトのいずれか。これを行う正確な方法は、これらのスクリプト/プログラムの呼び出し方法によって異なります。
/usr/local/bin/lynx
その後、次のシェルスクリプトを作成できます。
#! /bin/sh
# Here you could do what is needed to get the user name and password for the
# proxy authentication and use these instead of hard coded values.
/usr/bin/lynx -pauth=proxyuserid:proxypass "$@"
スクリプト/プログラムを実行しようとしたら、lynx foo bar
まずスクリプトを見つけ/usr/local/bin/lynx
てから/usr/bin/lynx
。
これでスクリプトが呼び出されます/usr/bin/lynx -pauth=proxyuserid:proxypass "foo" "bar"
。
もちろん、他の場所を代わりに使用することもできます/usr/local/bin
。
スクリプト/プログラムは/usr/bin/lynx foo bar
。/usr/bin/lynx
/usr/bin/lynx.real
/usr/bin/lynx
/usr/bin/lynx.real