«前の日(09-22) 最新 次の日(09-24)» 追記

徒然日記


2004年9月23日(木)

デジタルビデオ購入

去年のタイ旅行で俺以外の二人がDVを持っていてうらやましかったので買おうかなーと思ったのが昨日の買い物中(ぉぃ

価格.comやらデジタルモノ板を物色したりして

CanonのFV M100 KIT

PanasonicのNV GS120Kにしようと決め

バイトのために相模大野に行くついでにサクラヤで見てみたところ

FV M100 KITが74800円。ちょっと高いがポイントが20%付くと言うことで実質6万ちょっと。価格.com価格に引けを取らない安さ。

GS120Kは置いて無くて55Kか200Kしかなくて、200Kは高くて考慮外だったしね。

大容量バッテリーのBP-2L14と5本パックのテープを買って9万弱。

久々のでかい散財でした〜

(2:22)

[net] Bloglinesの未読

現在68feedsを購読してて、696Itemが未読(ぉぃ

一つのfeedで未読が200を越えるとそれ以上増えないって知ってた?(小ネタ → 証拠画像

そんなのは消せよって声が聞こえてきそうだな(笑

んで、旅行先のホテルに無料でネットが使えるPCがおいてない限り、9日間見ない事になるんだが…

さてここで問題です。Bloglinesの未読はどこまで行くでしょうか?

俺が帰ってきてPC立ち上げて、始めにBloglinesを見ます。そこでSSを撮るので一番近かった人にカナダ土産をプレゼント(マジ

ただし誤差が100未満が条件ね

チャンスは一人一回。つまり投票のためのツッコミは一回のみ。本人識別のために投票のためのツッコミにはメールアドレスをヨロ

当たった人には後日メールで連絡いたします

さぁレッツトライ(笑

ちなみに俺の予想は696 + 68(feeds) * 5(items) * 9(days) = 3756(items)で。

(2:54)

もしも

アクセス集中してサーバーが刺さっちゃったとか、鍵をかけるために窓を閉め切っていたら熱暴走してしまったとか、そう言う状態になったら、はいそれまでよ〜ってことで

ツッコミ入れられた人だけが対象になります。

あと、集計がめんどくさいからTrackBackも対象外とします

それでは、Good Luck!

日程

1日目(23)

16:00 成田発、デトロイト経由、モントリオール行き

二日目(24)

モントリオール、ケベック観光。モントリオール泊

三日目(25)

ローレンシャン高原観光。モントリオール泊

四日目(26)

大陸横断鉄道でキングストンへ、サウザンドアイランドクルーズ、トロント、ナイアガラ。ナイアガラ泊

五日目(27)

ナイアガラ観光。ナイアガラ泊

六日目(28)

ナイアガラ→バッファロー→ミネアポリス→カルガリー。カナディアンロッキー泊

七日目(29)

カナディアンロッキー観光、カルガリー泊

八日目(30)

カルガリー→ミネアポリス→…。機中泊

九日目(1)

→成田17:25着

改めて、長いね(笑

それではいってきまーす

本日のツッコミ(全3件) [ツッコミを入れる]

# yamk [いてら〜]

# 自殺予防(W [3850通]

# NT [もう〆切の日でしたね。 3550通と予想。]

./20040923.html#c">ツッコミを入れる]

2006年9月23日(土)

shell scriptのwhile

仕事でshell script書いてたんすよ。だけど、どうにもうまく動かない。

それで挙動を追ってるとwhileの中で変数に代入した値が、ループの外だと空になってる。

さらに、試してみるとwhileの外である変数に代入して、ループの中でも代入を行うと、ループの中では新たに代入された値になるんだけど、外に出ると始めに代入した値に戻ってしまう。

なんでshell scriptなのにscopeをもってるかのように振る舞うんだ?

shell scpriptって全部Global変数でしょ?とか、先輩と一緒に悩んだりしていたのだが、shell scriptの得意な人に聞いたら

「whileの中の変数は外に出せないよ。まるでsopeみたいに。

困るんだよねぇ、ファイルに吐くとかすると効率が悪いし」との事でした

2時間は悩んでた〜〜orz

実例

わかりにくい人のために実例

#!/bin/sh
A=1
echo "out of loop 1, A: $A"
echo "hoge" | while read line ; do
   echo "in the loop 2, A: $A"
   A=2
   echo "in the loop 2, A: $A"
done
echo "out of loop 2, A: $A"

これを実行すると…

$ ./test.sh                                                                  
out of loop 1, A: 1
in the loop 2, A: 1
in the loop 2, A: 2
out of loop 2, A: 1

こうなる

キモイ

キモすぎる〜〜〜〜

今回の敗因

ファイルから1行ずつ読み込んで、該当行があったら抜けて、次の処理に移る。whileはさっさと抜ける、という感じで書いたことだろか…

結局変数を参照するところまで全てwhileでくくって書いたけど、やっぱりキモイなぁ

ちなみに、一緒に悩んでくれた先輩が、自分で今までに書いたscriptを読み返したら、全てwhileの中で参照していた、との事でした

# 無意識にやってたらしい。scope持つって知って驚いてた

# というか、その場にいた他の人も誰も知らなかったw

gdi++

試してみた。

…これはスゲェ

ただ、スレを見ると「重い、重い。でもFirefoxだと平気って書いてある」

たしかにFirefoxだと4倍綺麗にしても全然気にならない。TeraPadも同じく。

だけどPuTTYとかCottonだとかな〜り重くて実用には耐えない感じ。Becky!は重いなりにもまぁ使えるかな、という感じ。何が違うんだろうなぁ

あとは、.txtとかを開いたときに開かれるエディタにhookさせる方法が分からず。これが出来るとうれしいなぁ

本日のツッコミ(全3件) [ツッコミを入れる]

# UmaShika [whileループの done の前に ps 入れて、実行して味噌。 からくりの端緒が見つかると思われるので。 #変な..]

# smbd [パイプでつないでるからsub shellになってしまうのね…納得 whileだけならscopeを持たないようで。(実..]

# kitaj [hoge() { local r="" while read foo; do ... done ..]

./20060923.html#c">ツッコミを入れる]



«前の日(09-22) 最新 次の日(09-24)»