whileスコープ内で変数代入しても、ループを抜けるとその効果が消えてしまうのです。 何が困るかというと、while内でカウントアップしたいときに困ります。 #!/bin/bash COUNT=0 echo -e "a\nb\nc" | while read line do echo $line COUNT=$(expr $COUNT + 1) done echo $COUNT # 出力:0 ループを抜けた瞬間にカウンターはゼロになってしまいます。これは困る。 メカニズム なぜこうなってしまうのでしょうか? わかりやすい解説を見つけたので引用します。 それは while のせいではなくパイプ (|) のせいです。 「|」で多段に接続された各々のコマンドは別プロセスとして動きますので、そのいずれのプロセスも親である shell に変数を渡すことは出来ません。 パイプの場合、前段の実行が完了し
NTT オープンソースソフトウェアセンタ 鈴木 幸市 はじめに この記事では、Linuxの代表的なフリーのディストリビューションであるubuntuでPostgreSQLを動かす方法を紹介するものです。Linuxを動かすからといって、新しいPCを用意したり、デュアルブートにしたりする必要はありません。今回の「やってみよう」では、ごくふつうのWindows XP が動作しているPC上にubuntuをインストールして、この上でPostgreSQLを動かしてみることにします。そして、PostgreSQLのマニュアルにのっているチュートリアルが全部できるようにしてみましょう。 1.用意するもの 1.1 PC ごくふつうにWindows XP が動いているものであればOKです。ちなみに、本記事で試したPCは3年前のデスクトップで、スペックは次のようなものです。 CPU: Pentium D 3.00G
LTSV って何? Labeled Tab-Separated Values という、テキストのフォーマットの仕様です。CSV や TSV や JSON そのほかと同じ、テキストデータのフォーマット名。主にログ、特に httpd のアクセスログなどに適用すると便利です。 仕様は http://ltsv.org にまとまっています。随時更新中です。 LTSV は単なるログのフォーマットであって、それ以上でもそれ以下でもありません。 LTSV ってタブ区切りで値に名前を付けただけのもの? はい、そうです。 これが 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (
これは普通の日記です。 今年は巳年なのでPythonを始めました。 全てのwebエンジニアがPythonを勉強するべき2013年到来 別にこの記事に影響されるほど繊細でもないのですが、Perlは仕事でいくらでも書けるし、Rubyはあんまり好きじゃないので、Pythonやってみるかーという軽い気持ちです。 ただ、Pythonの本はなかなか良いのが見つからなくて、最初は初めてのPythonを読もうと思ったのだけど、読み終えるのに一年くらいかかりそうだったからやめました。 Pythonクックブックにも一度手をつけたけど結局読まず、最終的に読み進めたのはDive Into Pythonだけでした。無料で読めるし、とりあえず完成したPythonコードを突き出して (Diveして)、順に説明するという方式で、他の入門書より速く学べる。実際、文法を多少知らなくてもDiveしたPythonコードは雰囲気で
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く