• ベストアンサー

PerlとUnixの関係

現在、Perlを勉強しているものです。バッチプログラムやVBScriptを使って、コマンドラインで便利に開発するようにしています。近々PCを購入し、UNIXでの開発をしようとおもっています。その際には、シェルプログラムなるものを覚えて便利に開発したいなあとおもっています。 話はそれますが、私はコンピュータ専門書籍の本屋さん(名古屋で一番の品数があるとおもわれます)に勤めているのですが、返品の棚にやや古めの「Unix&Perl」みたいな題名の本がありました。 本題に戻りますが、UnixではPerlをコマンドラインの機能の一部としてつかえたりするのですか?Windowsだとバッチプログラムで足りないところはJScriptやVBScriptで補ったりしなくてはならないのですが、Unixのシェルではその役目はPerlが果たしてくれたりすることがあるんでしょうか?要するに、シェルプログラムの機能強化としてPerlを使えたりするのでしょうか? あと、これは本題とは関係ないのですが、Unixを入れるならばFreeBSDやSoralisなどがあるみたいですが、どのディストリビューション?を選択すれば一番いいとおもいますか? 分かる方、回答をお願いします。よろしくお願いします。

  • Perl
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

コマンドラインの一部というか、普通にコマンドが作れます。Windowsのように拡張子は不要です(というかUNIXには拡張子の概念がありません)。1行目にインタープリタの指定を書いてパーミッションを実行可能な状態にしてPATHの通った所に置くだけでプログラムとして動作します。 > Unixを入れるならばFreeBSDやSoralisなどがあるみたいですが、どのディストリビューション? > を選択すれば一番いいとおもいますか? 私は今となってはあまり UNIX はおすすめしません。Linux をおすすめします (LinuxはUNIX互換ですが正式にUNIXだと認められたOSではありません。詳細は参考URLのページをご覧下さい)。理由はユーザの多さ、ソフトの多さ、及び情報の多さです。Linux は沢山ディストリビューションがありますが、Fedora Core がいいんじゃないでしょうか (但し私は全てのディストリビューションを知っているわけではないし、私が使い易くてもあなたには使い辛いかも知れません)。 無料のディストリビューションが沢山あるので(FedoraCoreもその一つです)色々試してみるのもいいかも知れません。CDから起動してインストールする必要のないKNOPPIXというディストリビューションもあります(これと一緒にcoLinuxやqemuというエミュレータが配布されていますが、それを使えばWindowsの中でLinuxを動かすことも可能です)。

参考URL:
http://ja.wikipedia.org/wiki/UNIX,http://fedora.redhat.com/,http://unit.aist.go.jp/itri/knoppix/
kamkamkam3
質問者

お礼

どうも、色々と参考URLを載せていただいてありがとうございます。 普通にコマンドが作れるということは、大丈夫そうですね。何事でもそうですが、やってみないとイマイチピンとこないですよね。 また、ディストリビューションの件ですが、Linuxがお奨めなんですか。企業ではUnixを採用してるのが多いのかな?と思い、Unixを使ってみようと思ったのです。以前、FedoraCore1を入れた事がありました。色々とやってるうちにPCが駄目になってしまい、、それっきりです。 FedoraCoreは現在、バージョンが4ですよね。bashとかemacsとかを勉強してみたいので、とりあえず、FedoraCoreも視野に入れたいと思います。ありがとうございました。参考にさせていただきます。

その他の回答 (1)

回答No.2

コマンドラインの機能の一部、と言うのがぴんとこないのですが、たとえば「毎晩x時にサーバAのこのディレクトリのデータをサーバBのあのディレクトリにバックアップして結果をメールする」とか「あっちのサーバからwebのアクセスログを持ってきて解析してからそっちのサーバにアップロードしておく」とかの作業はperlで書いておけば勝手にやってくれます。(そういうことではない?) >どのディストリビューション?を選択すれば一番いいとおもいますか? 純粋にperlを勉強したいのなら最初からいろいろ入っているVineとかCentOSとかのLinuxがいいかもしれません。configureとかmakeのエラーと格闘して遠回りしなくてすむと思います。

kamkamkam3
質問者

お礼

どうもありがとうございます。 一応、質問の趣旨としてはWindowsScriptHostみたいな役目を果たしてくれるのかな?というのが趣旨なんですが、よく考えたらどうでもいいことに思えてきてしまい。。僕がやりたかったことは、CでもJavaでもPerlでもVBScriptでも結局はできるということがわかりまして。。 すみません。。 ディストリビューションに関してですが、Linuxをお奨めが多いみたいなので、無難にFedoraCoreを入れておいて、余ったパーティションにFreeBSDかSoralisを入れようと思います。 どうもありがとうございました。参考になりました。

関連するQ&A

  • UNIXっぽくCUIでPerlをWindowsで

    ちょっとすごいタイトルになってしまいましたが、 今読んでいる書籍が、UNIXのコマンドラインを使用してのPerlの解説がされている本なので、 それをWindowsでも同じようにコマンドを打っていくだけで体感できないかと思っているのですが、 無理でしょうか? コマンドプロンプトを使って、perlの処理をあれこれと試すことはできますでしょうか? Win32 GNUというシェルがウィンドウズにも存在するとのことですが、これをいれればperlをコマンドラインで実現できるのでしょうか? そもそもCUIじゃないと、 #!/usr/local/bin/perl -w というエラーチェックのwを記述しても意味がない気がするのですが、どうなのでしょう。 アドバイスお願いします。

    • ベストアンサー
    • CGI
  • シェルスクリプトのbashとperlについて

    シェルスクリプトのbashとperlについて 今さら気づいたのですが、PerlもUNIXのコマンドやシェルスクリプトとして使用できるということでしょうか。 RubyやPHPをUNIXのコマンドやシェルスクリプトとして使用することはできますでしょうか。 学ぶとしたら、bashとPerlのどちらが良いでしょうか。 また、シェルスクリプトはどんな用途や利点がありますでしょうか。 Webアプリケーションによるバックアップやログをタイマーでセットして自動的に取得したりすることは可能でしょうか。

  • PERLとシェルについて

    コマンドプロンプトで入力されたPERLコマンドはシェルのプログラムによってカーネルに引き渡されてカーネルがPERLのプログラムにそのコマンドを実行させて、その結果をカーネル→シェルへと引き渡されてコマンドプロンプトに表示されるのでしょうか?

  • perlスクリプト内でシェルコマンドを実行するには??

    タイトル通りなのですが、perlスクリプト内でシェルコマンドを実行させる方法が分からなく、困っています。 実行したいシェルコマンドはUNIXのcrontab なのですが・・。 また、perlスクリプト内以外でシェルコマンドを実行する方法はあるのでしょうか?? どなたか分かる方いらっしゃいましたらご教授いただけると幸いです。よろしくお願いします。

    • ベストアンサー
    • Perl
  • unixのシェルでファイル内容を読み込む

    ど初心者です。わかりづらいかもしれませんが宜しくお願いします。 以下のような処理を行いたいと考えています。 (1) aaa.sh(シェルスクリプト)にてバッチプログラムを起動 (2)バッチでエラーの場合、結果ファイル(bbb.txt)に「1」を出力する。 (3)aaa.sh(シェルスクリプト)にて結果ファイルの内容を読み取り「1」の場合は、再度バッチプログラムを起動する。 このうち(3)の処理にて、結果ファイルの読み込み方法がわかりません。 調べた結果、以下のような処理で可能なようですが・・ while read LINE; do echo $line done < aaa.txt 読み込むのは1行なので、ループ処理にはしたくないのですが、例えば「read LINE aaa.txt」のような簡単なコマンドで、ファイルの中身を読み込むことはできないのでしょうか? 実はUNIXが初めてで、しかもスケジュールに余裕がないため焦っております。 なにぶん知識不足な故、ちんぷんかんぷんな質問かも知れませんが、よろしくお願いいたします。

  • 必須のUNIXコマンドとは

    ある事情で、ゴールデンウィーク明けまでにUNIXコマンドをある程度使えるようにならなければならなくなりました。 一応、コマンド集は買ってきたのですが、これを全てマスターするのはちょっと無理っぽいです。 そこで、とりあえず、このコマンドは知っておけ、というのがありましたら教えていただけませんでしょうか。 用途は主にLANの管理で、webサーバ、メールサーバ、ちょっとしたシェルスクリプトの保守と行ったところです。 MS-DOSのバッチファイルとかの経験はありますので、コマンドラインに対する拒絶反応とかはありません。 また、ディレクトリ構造とかマウントとかタスクとかログインとかの概念については理解しているつもりです。 細かいオプションとかパラメータについてはコマンド集を見たり、MANで探ったりします。

  • 趣味のプログラミング、シェルスクリプトでやるなら?またはPerl?

    新人SEです。仕事でUNIXのシェルスクリプトを使っているのですが休日にも趣味でシェルスクリプトで何か書けたらいいと思っています。 しかし趣味のシェルスクリプトとなると、何を書いたら楽しめるか・便利になるのかあまりイメージが湧きません・・自宅でサーバ管理などしてるわけではないので、クライアント側では何かシェルスクリプトを使うメリットがあるのか分からないのです。 ちなみに、シェルスクリプトが趣味になりそうになかったら、同じUNIX系ツールということでPerlを覚えようかとも思っています。Webアプリの作成などにも興味ありますし・・ 趣味のシェルスクリプト、何かいい例などありますでしょうか?関連してPerlについてでもいいので何か教えて頂けると嬉しいです。

  • perlのインストール

    perlのインストール後、コマンドプロンプトを起動してユーザー名の後、perl-vと入力したのですが、perl-vは内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」となります。これではインストールが正しくされていないと思うのですがどうしたらよいのでしょうか。よろしくお願いします。

    • ベストアンサー
    • CGI
  • PHPをバッチスクリプトのように実行する方法

    PHPをちょっと勉強してみようと思っています。 言語仕様をさらっと勉強したいだけなので Webサーバーを立ち上げるまではしたくないと思っています。 で、PHPをバッチスクリプトのように実行したいと思っています。 PerlやWSH(JScript, VBS)、シェル、Winコマンドバッチ等のように。 しかし、少し調べた限りではPHPをバッチのように起動する方法は分かりませんでした。 PHPをバッチスクリプトのように実行する方法はありますでしょうか? 存在しないのでしょうか?もしあるのならその方法を教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • マイクロソフトのバッチ処理について

    マイクロソフトのバッチ処理は、MSDOSのころから連綿として続いている機能で、unixのシェルを適用させたものと思います。 記述されているコマンドを上から順番に進めていくということになると思っていますが、ループ化することはできるのでしょうか。 100個のファイルがあって1つ1つナンバリングされていますが、それを一挙に処理するために同じ処理を100行にわたって書くことを行っています。ただし、ファイル名が違うのでそこは変えていますが。 同じことを100回書くのが苦痛なのでperlのようなもので書き出す工夫はしています。バッチがループで回ってループカウンタとファイル名をうまく合わせると2,3行で済むのではないかと思うのですが。こういうことはできないものなのでしょうか。unix, Linuxにいったん渡してそこでシェルスクリプトで処理することは今回はできません。Windows上限定のことなのですが。よろしくお願いします。