環境
Mac OS X 10.4.10 (PPC)
BathyScaphe 1.5 (110)
OnMyCommand 1.8.0
BathyScaphe の選択文字列を OnMyCommand の オブジェクト __OBJ_TEXT__ で取得してテキストファイルに書き出すと改行が反映されない問題について。
__OBJ_TEXT__ を % で渡す設定にして
echo "__OBJ_TEXT__" | ruby -ruri -n -e 'print URI.unescape($_)' > test.txt
などとしてもよいようですが、OMCEdit の編集ウインドウで "その他" タブを選び、"__OBJ_TEXT__ の改行コード" という項目を "Unix(LF) を Mac(CR) に変換" に設定すると
echo __OBJ_TEXT__ > test.txt
を実行するだけで改行が反映されるようになります。
しかしちょっと困ったことが。
echo が文字列の最後に改行を付加するので
「改行が CR に変換された __OBJ_TEXT__」+ 「echo が付加した LF 改行」
という形となり、選択部分の改行は CR なのに 最後だけ LF というヘンテコな内容になってしまうのです。
書き出したファイルはどうせ自分しか使わないんだからそのくらいどうってことないような気もしますが、選択部分が改行で終わっていた場合
文字列(CR)
文字列(CR)
文字列(CR+LF)
と、最後だけ Windows 改行になってしまい、テキストエディタで開いたときに改行が一つ分無視されることになります。
これはなんとなく嫌ですね。
なので
echo -n __OBJ_TEXT__ > test.txt
として echo の改行を抑止するか、または tr で改行コードを CR か LF に統一してしまうのがよいです。
LF で統一
echo __OBJ_TEXT__ | tr '\r' '\n' > test.txt
CR で統一
echo __OBJ_TEXT__ | tr '\n' '\r' > test.txt
ファイルに >> で追記する場合を考えると最後は必ず改行で終わっている方がよいので、echo -n より tr がおすすめですか。
環境
OS: Mac OS X 10.4.10 (PPC)
ネットワーク環境設定で、こんな感じの PAC ファイルを適用した「場所」をいくつか用意して
function FindProxyForURL(url, host)
{
if (shExpMatch(host, "*.imagegarden.net") || shExpMatch(host, "*.imgscan.com"))
return "PROXY XXX.XXX.XXX.XXX:XXXX";
else
return "DIRECT";
}
ときどきアップルメニューから切り替えて使っているのですが、ふと
http://www.cybersyndrome.net/evc.html
のときもプロキシを通したいと考えました。
本当に PAC ファイルが適用されているかどうかの確認用ですね。
でも *.cybersyndrome.net などと書いてしまうと使い勝手が悪いので
あくまで ENV Checker のページだけに適用したいわけです。
そこで検索開始。
しかしなかなか見つかりません。
かなり細かく解説されたサイトがたくさんあるのですが、特定の HTML だけ、という例文がない。
応用を利かすのが苦手な私は何事に関しても例文のあるサイトを最優先で探します。
需要ないのかそれとも探し方が悪いのかサンプルよこせサンプルなどと思いつつだらだらと検索。
「うぁ FindProxyForURL() の引数が url じゃん!」
と気づいたときはすでに 1 時間が経過。
要するに「引数 url が ... と等しければ」という JavaScript の条件式にすりゃいいんですよね。
こうしたらうまくいきましたよ。
function FindProxyForURL(url, host)
{
if (shExpMatch(host, "*.imagegarden.net") || shExpMatch(host, "*.imgscan.com") || url=='http://www.cybersyndrome.net/evc.html')
return "PROXY XXX.XXX.XXX.XXX:XXXX";
else
return "DIRECT";
}
JavaScript をちゃんと勉強している人なら 1 秒で気付きそうな話ではありますが。
普段コピペでつまみ食いばかりしているのでこういうときに苦労します。
- PAC ファイルの書き方・使い方リンク
- JavaScript または JScript を使った自動プロキシ ファイルの例
- osaru: プロキシの自動設定
- Proxy Client Autoconfig File Format
- PROXY.PAC の作成例
- Proxyサーバー続編
- 自動プロキシ設定について
- 暴想: プロキシを使うならPACを使うのが便利。
