[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

PerlとShellに関するpmakinoのブックマーク (6)

  • Perl CGI 中での Bash "Shellshock" 脆弱性 (CVE-2014-6721) 影響有無を確認した - [ぴ](2014-09-29)

    引数ありで、それを引用符で囲っている場合のみ影響を受けることが確認できた。 なお、 system LIST system PROGRAM LIST (略) スカラの引数が一つだけの場合、引数はシェルのメタ文字をチェックされ、もし あればパースのために引数全体がシステムコマンドシェル (これは Unix プラットフォームでは /bin/sh -c ですが、他のプラットフォームでは 異なります)に渡されます。 シェルのメタ文字がなかった場合、引数は単語に分解されて直接 execvp に 渡されます; この方がより効率的です。 [Perlの組み込み関数 system の翻訳より引用] によると、引用符があるかどうかではなく、メタ文字があるかどうかが生死を分けるポイントとのこと。 使用したコード sstest-sh.cgi #!/bin/sh echo "Content-type: text/pl

    Perl CGI 中での Bash "Shellshock" 脆弱性 (CVE-2014-6721) 影響有無を確認した - [ぴ](2014-09-29)
  • 2010-05-31

    @ksaito11: シェルの重複起動防止 URL 2010-05-31 23:08:02 via Hatena 同じシェルを複数起動しないようにするには、ロックファイルを使う方法が良く知られています。 単純明快な方法ですがシェルがkill -9で停止した場合には、タイミングによってロックファイルが削除されないことがあります。 メンテナンスフリーで重複起動を防止するには、すこしトリッキーな方法を使う必要があります。 どちらが良いというより状況により使い分けが必要となります。 続きを読む

    2010-05-31
  • perl でインタラクティブなシェルを実現する perlsh

    perl でインタラクティブなシェルを実現する perlsh 2006-01-11-7: [Perl] http://d.hatena.ne.jp/secondlife/20060111/1136975310 Term::ReadLine::Gnu に含まれている perlsh. \Term-ReadLine-Gnu-1.15\eg にファイルがある.make install ではインストールされないので,手動でパスの通ったところに置く必要がある. 似たようなことは,Perl のデバッグモードでもできるけど,perlsh の方が便利. % perlsh main[1]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[2]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 同じことを Perl のデバッグモードですると以下のよ

  • perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)

    http://search.cpan.org/~hayashi/Term-ReadLine-Gnu-1.15/eg/perlsh 最近 perl を勉強中で、ちょくちょく挙動に関する疑問が出てきます。ですが Ruby における irb のようなインタラクティブシェルが無い(と思っていた)ため、挙動をちょくちょく調べるのに、エディタ開いてソース書いたりしていてめんどくさい!と思ってたりします。 しかし今日 id:hideoki が挙動チェックでなにやら便利そうな対話型のシェルを使っており、それが perlsh というインタラクティブなシェルでした。 $ perlsh # 起動 main[10]$ @ary = qw(1 2 3 4 5) 1 2 3 4 5 main[11]$ map { $_ * $_ } grep { $_ % 2 } @ary 1 9 25 のように対話的に実行でき、返

    perl でインタラクティブなシェルを実現する perlsh - 2nd life (移転しました)
  • Shell::Perl と pirl を試してみる : blog.nomadscafe.jp

    Shell::Perl と pirl を試してみる id:naoya氏がブクマしてたのを見て入れてみた。 pirlは、perlshのような対話型のperlシェルです。 Shell::Perlをinstallしようとすると、新しいExtUtils::MakeMakerを要求されるので、cpanコマンドでいれずに、Makefile.PLを書き換えた -use ExtUtils::MakeMaker 6.31; +use ExtUtils::MakeMaker; 同時にinstallされるpirlコマンドを実行するとこんな感じ。 $ pirl [~] Welcome to the Perl shell. Type ':help' for more information pirl @> 1+1 2 pirl @> log 10 "2.30258509299405" pirl @> :helpでヘ

  • 同じコマンドを複数のサーバで実行 : blog.nomadscafe.jp

    同じコマンドを複数のサーバで実行 Assurerにシェルモードが追加されたので、もういいかなという感じですが、自分の使っているスクリプトをさらしてみる。 sshで1つのコマンドを複数のサーバに順番に実行させていけます。 「password:」のプロンプトに対して、expectを使って自動で入力する機能もあるので、sudoなどにも対応 mssh -f list.txt -u user -p -- id -f ファイル名: ホスト名が書いてあるファイル名。1行1ホスト -u ユーザ名: ログインするユーザ名 -p: パスワードを使うフラグ --: これ以降にコマンド 以下ソース #!/usr/bin/perl package MSH; use strict; use warnings; use Expect; sub new { my $class = shift; bless {@_}, $

  • 1