nao_wadaの日記: CGI
リムネットのクソ加減がいいかげんアタマにきたのでWebSiteを現在のCATV側に移転させることにした。ついでにウイルスチェックサービス付きのMAILアドレスもGET。しばらく併用した後にメインアドレスをこちらに切り替えよう。容量制限が5Mなのが辛いところだが、普通のMAILなら2000通弱は貯められる容量だからよしとする。巨大MAILはこれまで同様rimやhryに送ってもらうことで…。
本題はここから。Websiteを早速CATV側に移設すると…一部のCGIが動かないことが判明した。これはマズい!CGI(やSSI)が動かないとアクセスログ解析(どうでもよい)や光画部時計(もっとどうでもよい)が使えないばかりか駅前コンビニ情報の検索(compact版も同内容)やcsvファイル生成ができない。
そこで、Webサーバの情報を収集してみる。
- OS:そらりす
- httpd:あぱっち
- sh,csh,tcsh:あり
- awk,gawk:あり
- cat:あり
- nkf:あり
- その他主要コマンド:/usr/local/bin以下に存在。実行権あり。
- PATH:各種shell,awk,catはOK、nkfはNG
PATHの問題だな、nkfだけフルパスで書いてみる。
cat *.htm | /usr/local/bin/nkf -e | awk -f hoge.awk
CGI実行
:
:
:
白紙ページ
?????
catだけやってみる
cat *.htm
OK。続いてnkf
/usr/loca/bin/nkf -j hoge.htm
OK。続いてawk
awk -f hoge.awk hoge.htm
OK。…?
cat+nkf
cat hoge.htm | /usr/local/bin/nkf -e
OK。cat+awk
cat hoge.htm | awk -f hoge.awk
:
:
:
NG。???
which awk
OK。存在する。
念のためawkをフルパスで書いてみる
cat *.htm | /usr/local/bin/nkf -e | /usr/local/bin/awk -f hoge.awk
OK。なぜ?パイプを通すときはフルパス書かないとだめですか?今までそんなこと無かったですよ、rimのSunOSもFreeBSDもhryのSolarisも自宅のLinuxも。
っていうか、なんで最初のcatだけはOKですか?…まあいいか、動けば。次からはコマンドはPATHに頼らず書くことにしよう。
CGI More ログイン