• ベストアンサー

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

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

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

  • ベストアンサー
  • NNori
  • ベストアンサー率22% (377/1669)
回答No.2

UNIXならC言語だと思います。 趣味でシェルスクリプトというのもなんだか良くわかりませんね。私はパズルが好きなので、エクセルマクロでパズルを解くプログラムを作ったり、カレンダーを作ったりしましたね。 もし趣味でもUNIX環境ならば、C言語かな。Windowsであれば、エクセルVBAや無料のC#、VisualBasicをお勧めします。シェルスクリプトやperlはそんなに難しくないので、なにかひとつの言語ができるようになればあとは容易いと思いますよ。

foo178
質問者

お礼

回答ありがとうございます。 なぜ趣味にこだわるかというと、仕事で使っているので趣味でもやってみれば相乗効果でスキル向上が望めるのでは・・と安易な考えを持っているからなんです。 シェルスクリプトにこだわらず、まずは自分の作りたいものをイメージするところから始めようと思います。あと自宅環境がMac OS(UNIXベース)なので、C言語の勉強も検討してみようと思います。ありがとうございました!

その他の回答 (2)

回答No.3

こーゆー本がありますよ。 ゲームで極める シェルスクリプトスーパーテクニック: http://gihyo.jp/book/2007/978-4-7741-3202-0 参考までに。

foo178
質問者

お礼

ありがとうございます。 この本、タイトルだけ聞いたことありましたが、、目次を見てると勉強になりそうな内容がありそうです。本屋で確認してきます!

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

何を作ってみたいかによるんじゃないかな。 よーし ゲーム作っちゃうぞっていうなら それはそれで良いし ブログ機能を作ってみたいっていうならそれもアリだし それぞれ求められる物が違うのでそこが定まってないと何とも言えないよ。 それにperl perlって言っても、流行はphpや他の物にも移っていたりするから、作ってみようと思う物が定まった時に何を使うのが最適なのかを質問に来た方が良いかもね。 web関連の処理をそのシェルスクリプトで処理させる事だってできなくはないから必ずperlじゃなきゃならないって事は無いし、極端な話、C言語だけで押し通しもできなくは無いよ。 でも、データベースが扱える様になった方が良さそうなのは きっと確かだと思う。

foo178
質問者

お礼

私は仕事と趣味で同じシェルスクリプト(または関連してPerl)を勉強しなければならない・・と手段にしか目がいってなかったようです。必ず~の言語じゃなきゃならない、ということはないんですね。もっと目的に目を向けるようにします。 興味は今のところWebアプリ(WebサービスのAPI使ったり)にあるのですが、Webページから文字列の一部分を抽出して取得する・・といった自分用のツールなども作ってみたいと思ってます。 いずれにしても、興味が曖昧なのでもっと具体的に落としてから考えるようにしてみます。 ちなみにDBはJavaのサーブレットからアクセスしたり・・などやったことあるので、そのあたりもっと使いこなせるようにします!ありがとうございました。

関連するQ&A

  • シェルスクリプトのbashとperlについて

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

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

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

    • ベストアンサー
    • Perl
  • シェルスクリプトについて

    とあるUNIXサーバが1台あるとします。 でそのマシン上の管理プログラムが同一マシン上にある 「シェルスクリプト(bash)」をキックするとします。 となるとそのシェルスクリプトの実行者(?)は Unixにログオンしているユーザーになるのでしょうか?。 目的としてはそのログインしているユーザーの環境変数 をシェルから参照したいのですが・・ 考え方がWindowsなもので。。すみませんが よろしくお願いします。

  • シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2

    シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2...のような位置パラメタや、$?,$$,$!,$-のような特殊変数がありますが、これはPerlやRubyもあるようですが、意味や効果、やり方等は同じでしょうか。 当方はPHP,JavaScriptしか触れていませんし、PHPやJavaScriptは、そのような位置パラメタや特殊変数は見当たりませんでした…。 つまり、PerlやRubyはUNIXのコマンドから誕生したスクリプト言語ということでしょうか。 こういった位置パラメタや特殊変数はPerlやRuby以外に他の言語にもありますでしょうか。PythonとかCとかJavaとか…。 また、Bシェルを学んでいる途中ですが、シェルスクリプトの中にはbourne以外にもbashやC Shell,zsh,Perlがありますが、何故Perlが入っているのでしょうか。 Perlをやっている方は別途シェルスクリプトをやる必要はないということでしょうか。

  • シェルスクリプトとphpを使ったプログラミングについて

    UNIXサーバで、現在、シェルスクリプトやphpを使ってプログラムを書いています。 今は「csh cmd ファイル名」という形でシェルスクリプトを実行しています。このままではプロンプト画面で味気ないので次のようにしたいのですが、やり方が分りません。 まず、phpやhtmlで作成したファイル提出画面にてファイルを提出してもらいます、そして、それを受け取ります。その時例えば送信ボタンを押すと思うのですが、そのボタンを押したらファイル名を受け取り「csh cmd ファイル名」が実行されるといふうにしたいのです。何かいい方法があれば教えて頂きたいです。phpでなくてもいいので、お願いします。

    • ベストアンサー
    • PHP
  • Redhat9にあるシェルスクリプトをWinXPのアプリから実行させる方法

    サーバ:Redhat9(ファイル[smb],DB[postgres]サーバ) クライアント:WinXPorWin2000 Redhat9でDBの一括処理をシェルスクリプトで作成しました。 自動処理はcrontabなどで行っていますが、手動処理も行いたいと思います (DBだけではなく、いろいろ活用する予定です) クライアントはVC6.0で作成されたアプリが動作しています。 (要はクライアントサーバシステムです) クライアントのアプリからボタンクリックでRedhatのシェルスクリプトを実行するよい方法はありますか? 現在案として (1)Redhatでシェルスクリプトを作成する (2)Windowsでrshコマンドを使用しシェルスクリプトを実行するバッチファイルを作成する (3)クライアントのアプリからバッチファイルを実行する という方法を考えていましたが、 rshのPermission deniedの問題で先に進めません。(この件は別スレッドで質問済みです) 何か良い案をご教授頂けますでしょうか? よろしくお願いします

  • WEBプログラマーにとってのシェルスクリプト

    現在業務でPHPやJSでWEBシステムをつくっているものです。 サーバーは、見よう見まねでVPS中でWEBアプリをつくったりWEBサーバーのセットアップ なんかができる程度です。 しかし、いっさいシェルスクリプトというものを書いたことがありません。 WEBサーバーを作るとき以外VPSにほとんどログインすくこともないので そうそうサーバーそのものをさわる機会も多くないです。 さてそこでしつもんです。 いわゆるWEBプログラマーにとって シェルスクリプトは必須スキルなのでしょうか? もちろんサーバー屋からプログラマーまでこなす人はあつかえるのでしょうが、WEBプログラミングを生業としているひとのシェルスクリプトの扱えるレベルが知りたいです。 もちろんできることにはこしたことがないと思いますが、 実際のWEB開発側ばかりさわっていてなかなかシェルスクリプトをさわるきっかけがありません。 皆様のシェルスクリプトの習得具合をしりたいです。

  • シェルスクリプト内の「exit」

    クライアントからteratermでservAに接続します。 そこからservBに接続します。 $ ssh servB サーバーBに個人のディレクトリがあり、そこにシェルスクリプトを作っています。 そのシェルスクリプトは「exit 0」で終わっています。 これを実行すると、サーバーBからログアウトしてしまいます。 exitはシェルスクリプト内で使うと、シェルスクリプトを終了するだけかと思ったのですが、ログアウトもしてしまうものなのでしょうか? exitを書かなければ、ログアウトすることなく、カレントディレクトリは変わらないままです。 実行するたびに $ ssh servB $ cd work/mydir と実行しないと自分のディレクトリに戻ってこれないので不便です。 色々と調べたのですが、なぜログアウトしてしまうのかわかりません。 どうすれば、ログアウトしないのか教えて下さい。 よろしくお願いいたします。 シェルスクリプト(TEST) #!/bin/bash -xv echo hello! exit 0 実行結果 [company@servB mydir]$ . TEST hello! Connection to servB closed. [company@servA ~]$

  • シェルスクリプトとパワーシェルスクリプトに変換したい

    UNIXで運用しているシェルスクリプトをマイクロソフトのパワーシェルで動作するようなシェルに書き換えたいのですが、下記のようなperlプログラムを起動している箇所はどのように扱えばよいのでしょうか。 /usr/local/ap/phone_book/edit_ms008.pl ms008.dat > ld_ms008.txt if [ $? -ne 0 ] then echo "abnormal terminated!\n" exit1 fi 「ms008.dat」をインプットにして「edit_ms008.pl」を実行して、 「ld_ms008.txt」をアウトプットするというものです。 どなたかご存知の方、ご教示よろしくお願いいたします。

  • PerlとUnixの関係

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

    • ベストアンサー
    • Perl

専門家に質問してみよう