Bash-httpd ­- веб-сервер длиной в одну строку

Posted on September 4th, 2007 in bash, fun, linux by RiZN

Удивительное явление! Статья по достаточно специфичной теме попала на главную н2, да еще и покраснела :) А всё потому, что статья действительно интересная и окажется полезной любому, кто хочет увидеть “силу командной строки” или очень быстро поднять веб-сервер для передачи пары файлов на соседний компьютер.
Итак, вот оно, лаконичное решение проблемы:

true; while [ $? -eq 0 ];do nc -vlp 8080 -c'(r=read;e=echo;$r a b c;E=NOTYET;while [ ${#E} -gt 0 ];do $r E;E=`$e $E|tr -d "\r\n"`;done;f=`$e $b|sed 's/[^a-z0-9_.-]//gi'`;h="HTTP/1.0";o="$h 200 OK\r\n";c="Content";if [ -z $f ];then($e -e $o;ls|(while $r n;do if test -f ${n}; then $e "<a href=\"/$n\">$n</a><br>";fi;done););elif [ -f $f ];then $e -e "$o$c-Type: `file -ib $f`\n$c-Length: `stat -c%s $f`\n";cat $f;else $e -e "$h 404 Not Found\n\n404\n";fi)';done

Благодарности направляем автору идеи, а также автору той версии, которая выложена здесь.

RSS feed | Trackback URI

5 Comments »

Comment by mahoro
2007-09-04 12:11:05

И все-таки моя версия короче, а недоработки, на которые указал getxee я в ней исправил :)

Comment by reasonspace
2007-09-04 12:49:24

Я её не запостил только лишь потому, что у меня она не показала файлов :)

 
 
2007-09-04 13:46:13

[...] YouTube Bash-httpd ­- ???-?????? ?????? ? ???? ?????? » This Summary is from an article posted at RiZN Blog on Tuesday, September 04, 2007 Bash-httpd ­- ???-?????? ?????? ? ???? ?????? Posted on ???????? 4th, 2007 in fun, linux, bash by reasonspace ???????????? ???????! ?????? ?? ?????????? ??????????? ???? ?????? ?? ??????? ?2, ?? Summary Provided by Technorati.comView Original Article at RiZN Blog » 10 Most Recent News Articles About Linux [...]

 
Comment by afon
2007-09-04 16:21:56

ОФЕГЕТЬ!

 
Comment by reasonspace
2007-09-09 21:19:35

щто?

 
Name (required)
E-mail (required - never shown publicly)
Subscribe to comments via email
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.