shスクリプトでcgi
- : nobodyさん [] 03/03/20 01:27:zBrN4BPB
- Perl vs. PHP vs. Rubyと言われているこの時代に
shスクリプトでcgiを書いている奴っていますか。
周りからは生きた化石と言われながら、頑固一徹
shスクリプトのcgiの可能性にかけている。
そんなcgi職人、集まれ!
- : nobodyさん [sage] 03/03/23 15:21ID:???
-
作ろか?標準入力から入ってきたデータURLデコードするプログラム。
って言うかawkでも使えば?じゃあPerl使った方が早いなぁ・・・。
って言うかPerlの関数呼び出しとshのプロセス起動させまくり、どっちが軽いの? - : nobodyさん [] 03/03/23 15:33:emAJ6ArI
- 様
おねげーしますだ。m(_ _)m
できればawkのものが勉強のためにはうれしかったりします。
- : nobodyさん [sage] 03/03/23 17:48ID:???
-
27じゃないけど、単に標準入力から読んでデコードして標準出力に書き出すだけならこれでいいかな。
きちんとテストしていないけど。一度全てバッファに取り込んだ方がいいかな?
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[3]={0};
int c;
while((c=getchar())!=EOF){
switch(c){
case '+':
putchar(' ');
break;
case '%':
s[0]=((c=getchar())==EOF)?'\0':c;
s[1]=((c=getchar())==EOF)?'\0':c;
putchar(strtol(s,NULL,16));
break;
default:
putchar(c);
break;
}
}
return 0;
}
- : nobodyさん [] 03/03/23 21:53:emAJ6ArI
- 様
ありがとうございます。
これはccでコンパイルした後、どうshスクリプトに組み込めばよいのですか。
初学者なものでお手数をとらせてもうしわけございません。 - : 名無しさん@カラアゲうまうま [sage] 03/03/23 22:26ID:???
- sh スクリプトで URL デコード。
URL エンコードされてない無関係な文字列が入ってると破綻するけど。
% cat urldec.sh
#!/bin/sh
( echo ibase=16; echo obase=8; echo "$@" | tr a-z% A-Z\\n ) |\
bc |\
while read a; do
echo -e \\0$a
done |\
tr -d \\n
% sh urldec.sh %A4%DB%A4%B2
- : nobodyさん [] 03/03/23 23:12:826klXke
-
おいらLISP(clisp)でつくってるよ〜
#! /usr/bin/perl
open (MYLISP,">mylisp.lisp");
print MYLISP "S式";
close(MYLISP);
system("clisp mylisp.lisp");
こんなんだけど・・・ - : nobodyさん [] 03/03/23 23:15:e2yFDnGv
- ★男はココを見るべし★女と金とサンプルムービー★
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
ttp://http://www.pink-angel.jp/betu/linkvp2/linkvp.html - : nobodyさん [sage] 03/03/23 23:19ID:???
-
あんた、そっち公開しても仕方ないっしょ。 - : 名無しさん@カラアゲうまうま [sage] 03/03/23 23:26ID:???
- そういえば、cgi じゃなくて httpd そのものが
sh で書かれてるというのがあるんだった。
ttp://http://www.ascii.co.jp/pb/book1/announce/inet256/Source/shttpd
- : nobodyさん [sage] 03/03/23 23:30ID:???
-
ああ、スーパサーバ使えば後は標準入出力のプログラムになるからなぁ。 - : nobodyさん [sage] 03/03/24 00:11ID:???
-
<H1>ただいまメンテ中</H1>
って吐くだけの同じ奴を使ってた事がある。
apache止めてる間だけとか。 - : nobodyさん [sage] 03/03/25 15:20ID:???
- mod_brainfuck で…。(誰か使ってる人いない?)
- : nobodyさん [sage] 03/03/29 00:47ID:???
- なつかしーな。1994年ごろは、カウンタっていったら、shとperlが半々だったきがする
- : nobodyさん [] 03/04/06 00:59:/7G2cvSN
-
shスクリプトが生き残れなかったのはなんでだろう? - : nobodyさん [sage] 03/04/06 02:18ID:???
- 外部コマンドを大量に起動するためにオーバヘッドが非常に大きく遅い。
shから呼ばれる外部コマンドのパスや引数や実装がOSによって大きく異なる。
あまつさえ/bin/sh自身がOSによって互換性がない。
- : nobodyさん [sage] 03/04/08 01:54ID:???
-
うむ。その前提で限界に挑戦するのがおもしろいのではないのか? - : nobodyさん [sage] 03/04/11 06:31ID:???
- 毎回自分自身がどのような環境に置かれた sh なのか調査した上で動き出すようにすればよい。
- : nobodyさん [sage] 03/04/14 17:51ID:???
- configureかよ!
- : 山崎渉 [(^^)] 03/04/17 12:09ID:???
- (^^)
- : 山崎渉 [(^^)sage] 03/04/20 06:23ID:???
- ∧_∧
( ^^ )< ぬるぽ(^^) - : nobodyさん [] 03/05/01 00:19:nSLOiiM0
- echo "AGE"
- : bloom [] 03/05/01 00:29:YcBKOzoM
- ttp://http://homepage.mac.com/ayaya16/
- : nobodyさん [sage] 03/05/11 14:24ID:???
- multipart/form-data ならデコードしなくて済むのでわ,
と言ってみるテスト - : 山崎渉 [(^^)] 03/05/22 02:06ID:???
- ━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―
- : 山崎渉 [(^^)] 03/05/28 17:18ID:???
- ∧_∧
ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。
=〔~∪ ̄ ̄〕
= ◎――◎ 山崎渉 - : 名無しさん@Emacs [sage] 03/06/16 05:36ID:???
-
> 外部コマンドを大量に起動するためにオーバヘッドが非常に大きく遅い。
> shから呼ばれる外部コマンドのパスや引数や実装がOSによって大きく異なる。
> あまつさえ/bin/sh自身がOSによって互換性がない。
上のほうでシェルスクリプトがperlより軽いとか言ってるのはウソなんですね。 - : nobodyさん [sage] 03/06/16 10:17ID:???
- ほんとうに sh しか使わんのならかなり軽いよ。
ただ、ある程度以上の規模になると外部コマンドを fork せずに
スクリプトを書くことができない。だから総体として重くなる。
ある程度以上の規模のスクリプトなら、
いったん中間言語にコンパイルしてから実行する perl にはかなわんね。
- : nobodyさん [sage] 03/06/17 06:33ID:???
- >いったん中間言語にコンパイルしてから実行する perl にはかなわんね。
テキスト−>解析−>実行
テキスト−>解析−>中間コード生成−>解析−>実行
Perlの方が遅くないか?JSPの初回起動みたいなもんだろ。
ループとかだと若干有利か。 - : nobodyさん [sage] 03/06/29 00:14ID:???
- @system("echo <HTML>")
- : 山崎 渉 [(^^)] 03/07/15 11:16ID:???
-
__∧_∧_
|( ^^ )| <寝るぽ(^^)
|\⌒⌒⌒\
\ |⌒⌒⌒~| 山崎渉
~ ̄ ̄ ̄ ̄ - : 山崎 渉 [(^^)sage] 03/08/02 02:35ID:???
- ∧_∧
( ^^ )< ぬるぽ(^^) - : ぼるじょあ ◆ySd1dMH5Gk [(^^)] 03/08/02 05:15ID:???
- ∧_∧ ∧_∧
ピュ.ー ( ・3・) ( ^^ ) <これからも僕たちを応援して下さいね(^^)。
=〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
= ◎――――――◎ 山崎渉&ぼるじょあ - : 山崎 渉 [(^^)] 03/08/15 23:04ID:???
- (⌒V⌒)
│ ^ ^ │<これからも僕を応援して下さいね(^^)。
⊂| |つ
(_)(_) 山崎パン - : nobodyさん [sage] 04/01/29 09:43ID:???
- 保守
- : ◆s60O0vgq9M [sage] 04/01/31 22:01ID:???
- rrr
- : nobodyさん [sage] 04/12/11 02:12:40ID:???
- 1994年ごろ、
カウンタつっても、Perlかshでつくったものしかなかったよ・・・なつかしや - : nobodyさん [sage] 04/12/11 02:13:19ID:???
- うわ、11ヶ月ぶりのレスじゃねーかw
- : nobodyさん [] 2005/11/29(火) 20:35:42:6biAl2f4
- apacheでshでCGI動かす設定ってどうやるんですか?
perlとC(バイナリ)では正常に動くんですけど・・・
shだと500 internal server errorになります。
ちなみにシェルはcsh使ってます
- : nobodyさん [sage] 2005/11/30(水) 02:21:29ID:???
- CGIなんだから、一行目にシェバングパスを書かないとだめだぞと。
- : nobodyさん [sage] 2005/11/30(水) 07:51:57ID:???
-
hello.cgi
-----------------
#!/bin/sh
echo "Content-type: text/html\n\n";
echo "Hello";
- : nobodyさん [sage] 2007/05/26(土) 09:24:51ID:???
- ほす
- : nobodyさん [] 2008/10/15(水) 20:02:22:CwbSjCAQ
- ぺす
- : nobodyさん [sage] 2008/10/21(火) 12:33:37ID:???
- 昔アセンブラでCGI作って動かしてたな(´・ω・`)
- : nobodyさん [] 2008/11/14(金) 13:01:21:elYW8Na3
-
つNKF - : nobodyさん [sage] 2008/11/14(金) 18:55:25ID:???
-
.shで動かしたいならスクリプトがあるディレクトリに.htaccessを作り、
AddType application/x-httpd-cgi .sh
と書けばよい - : nobodyさん [sage] 2011/01/26(水) 22:13:55ID:???
- シェルスクリプトでてきとうにURLでこーど
#!/bin/bash
#環境変数[QUERY_STRING]を[&]を空白に変換しパース
_QRYVAL=`echo "$QUERY_STRING" | tr '&' '\t'`
#引数解析
for v in $_QRYVAL
do
#[=]を空白に変換し配列化
v=(`echo "$v" | tr '=' '\t'`)
#formの[name]に[value]を格納(URLデコード)
eval "${v[0]}"="`echo ${v[1]} | tr % = | nkf -emQZ1`"
done - : 忍法帖【Lv=1,xxxP】 【Dphp1330235948909060】 [sage] 2012/02/26(日) 14:59:08.63ID:???
- t
- : nobodyさん [sage] 2013/07/26(金) NY:AN:NY.ANID:???
- echo "hoshu"
- : nobodyさん [] 2015/11/11(水) 23:47:23.65:OBd/4WeX
- 転職の際に必ず思い出してください。
下記の条件が全て当てはまる会社にご注意下さい。
・IT系 in 東京
・転職会議で2.5点
・転職会議の「その他>2ch情報」の欄で過去の労基2chスレが表示される - : nobodyさん [] 2017/12/30(土) 13:05:12.28:YhlYw6jg
- 誰でも簡単にネットで稼げる方法など
参考までに、
⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。
グーグル検索⇒『半藤のブブイウイウレレ』
QSCHX4VEAB
凡例:
レス番
100 (赤) → 2つ以上レスが付いている
100 (紫) → 1つ以上レスが付いている
名前
名無しさん (青) → sage のレス
名無しさん (緑) → age のレス
ID
ID:xxxxxxx (赤) → 発言が3つ以上のID
ID:xxxxxxx (青) → 発言が2つ以上のID
このページは2ch勢いランキングが作成したキャッシュです。元のページはこちら。削除についてはこちら。