• ベストアンサー

シェルスクリプトに手をだしてみたいのですが。。。

Linuxに触れて半月ちょっとの私ですがこれまでRedHat7.3のインストール、ftpの実装、sambaの実装、カーネルの再構築をこなしてきました。 で、次なにしようかなぁと思っていたところ、シェルスクリプトというもの を発見しましたのでこれに手を出してみようかと思っています。 1.BourneShellの作成手順のようなものを詳しく説明してくれてるサイトを教えてください。自分でも探してみましたがこれより詳しくかつ優しく教えてくれてるサイト知ってる人いませんか? (Cshって下記サイトでいってるとおり手出さない方が良くて、BourneShell知っておけば十分なんですよね?)   http://www.oiden.net/Flets/bangai03/   http://warp.syns.net/10/ 2.「シェルスクリプトを使用して何をしたいのか」を当然決めないと作れるものも作れませんが、現時点で想像つくのが指定時間にファイルのバックアップをとる(指定時間なんてできんのか?)とかしか思いつかないのですが、「こんなの最初に作ればスキルアップになんじゃない。」ってゆうのないですか?出来れば答えも一緒にわかるとうれしいです。   なにぶんLinux初心者でなおかつ周りに教えてくれる人もなく、頼れるのは 教えてgooのみの悲しい状況です。 漠然とした質問で大変恐縮なのですがどなたか回答ください。

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

  • ベストアンサー
  • me_no_car
  • ベストアンサー率24% (22/90)
回答No.1

プログラムの知識があればシェルは簡単ですよ。 1. http://lagendra.s.kanazawa-u.ac.jp/ogurisu/manuals/sh-text/sh/ このサイト読めばだいたいは分かると思います。 2. 可能ですよ。作成したシェルスクリプトをクーロンに登録すればOKです。 クーロンについてはオンラインマニュアルを読んでください。(man cron)

hanada
質問者

お礼

ご回答ありがとうございます。 お答え頂いたサイトすばらしいです。まさにこういうサイトを探しておりました。 ありがとうございます。 あと、cronというコマンドは知りませんでした。sleepとかで間隔をあけるしかないのかなあとか馬鹿なことを考えていました。 そもそもそれじゃシェルスクリプトが起動してからの時間になっちゃうから指定時間(pm5時とか)は無理じゃないですかねぇ。 無知とは恐いですね。 

その他の回答 (5)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.6

蛇足ながら。 > >私は、シェルにパラメータで値を渡し、cutしたりpasteしたりコマンドの動きを体得しているようなところです。 > どういうことですか??? > 存在するあるファイルの文字列を新規ファイルへ指定行、指定文字数分cutしたりpasteしたりする > シェルスクリプトを作成されたってことですか? cut とか paste ってコマンドがあることは知ってますか? > hanada さん LIBERALIST さんは、それらのコマンドを使ったシェルスクリプトを書いた、ということです。 ランコマンドのスクリプトを読んでみると分かりますが、 cut コマンドは良く使います。 awk や sed でも同じことができますが、何かの(コマンドの出力を含む)文字列から ある範囲を切り取るのに、(軽いので)よく使います。

hanada
質問者

お礼

ガーン。。。知りませんでした。。。 確かに「カット&ペーストってどうやってやってるのかなあ?」とは思っていましたが、ずばりそのもののcut、pasteというコマンドがあるのですね。 お恥ずかしい限りです。

noname#5645
noname#5645
回答No.5

ベテラン回答者さんたちの後で大変恐縮ですが、再び初心者の#4です。 >指定文字数分cutしたりpasteしたりするシェルスクリプト そうです。仕事で、今やっているのがHTMLのフォームに入れたデータを、DBのプライマリキーとのマッチングに使うためにシェルスクリプトで加工するので、それをサンプルとしてってだけなのですが。 でも結構現実的な使い方かなぁと思っております。

hanada
質問者

お礼

そうですか。仕事で使われるためにシェルスクリプトの作成されてるのですか。 実用性があるぶん作りがいがありそうですね。 私はここ2日で「linuxログイン時に時間を判断して挨拶(おはようとか、こんばんはとか)を標準出力するシェルスクリプト」、「cronを使って毎日定時にファイルのバックアップをとるシェルスクリプト」を作りましたが、なんかこう作りきったという実感がわきません。 スキルアップのために、何を作ればいいのかまたも悩んでる最中です。 やっぱり仕事を通してとかじゃないと、独学だと厳しいものがあるような気がします。

noname#5645
noname#5645
回答No.4

私も初心者です。こちらの過去ログは本当にためになりますね。 ちなみに仕事でsolarisを使ってまして、みんなcshを使ってますが、自宅のマシンがbashなのでbashで仕事の合間に遊んでいます。 >当然決めないと作れるものも作れません ですよね。私はホームページも開店休業中です。 私は、シェルにパラメータで値を渡し、cutしたりpasteしたりコマンドの動きを体得しているようなところです。 で、これからはカーネルの勉強をしてみようかなぁと思ってます。

hanada
質問者

お礼

>こちらの過去ログは本当にためになりますね。 同感です。これがなかたっらどうなってるんだか。トホホ・・・ >私は、シェルにパラメータで値を渡し、cutしたりpasteしたりコマンドの動きを体得しているようなところです。 どういうことですか??? 存在するあるファイルの文字列を新規ファイルへ指定行、指定文字数分cutしたりpasteしたりするシェルスクリプトを作成されたってことですか? >で、これからはカーネルの勉強をしてみようかなぁと思ってます。 私はつい最近カーネルの再構築に失敗してOSを再インストールするはめになりました。こんなお馬鹿なことにならないよう気をつけてください。 ご回答ありがとうございました。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

勉強のための勉強ってのもつまらないので、必要があったとき(無理矢理作ってもOK)で良いとは思います。 質問でも書かれているように、cron のように自分でコマンドをたたけないとき、もしくは、 「いつも似たようなコマンドをたたいているなあ」と感じたときが、シェルスクリプトに触れる 良い機会、かと。 で、シェルスクリプトって、良い教科書ってなかなか無いんですよね。最初のプログラムが シェルスクリプトだとちょっと厳しいかも。 どんな言語でも参考になるソースがあって、それをいじりながら、ってのが上達の近道かと思うのですが、 スクリプトの場合には、ランコマンド(rcX.d 配下のあれ)が、そこそこ短くて、且つ、きちんと動く ものなので、参考にすると良いと思います。

hanada
質問者

お礼

>最初のプログラムがシェルスクリプトだとちょっと厳しいかも。 一応仕事でC言語は知ってるつもりです。(5年目) 基本的な条件分岐などは、書式がちょびっと違うだけでif文、for文、while文等、似てるところもありますよね。結構親しみやすいかも。。。 >ランコマンド(rcX.d 配下のあれ)が、そこそこ短くて、且つ、きちんと動くものなので、参考にすると良いと思います。 ランコマンドのシェルスクリプトちょっと覗きましたが、初心者の私はちんぷんかんぷんでした。 けど、どんなシェルスクリプト作るかも決めてないくらいなので、参考にできるチェルスクリプト郡がこんなにたくさんあったのには感動です。参考にしますありがとうございました。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

いきなり,csh-whynot に行き着かれるとは,とっても筋がよろしいようです.教えてgooは卒業しても良いのでは? シェルスクリプトについては http://www.linux.or.jp/ から http://www.linux.or.jp/JF/JFdocs/Bash-Prog-Intro-HOWTO.html にたどり着けます.

hanada
質問者

お礼

>いきなり,csh-whynot に行き着かれるとは,とっても筋がよろしいようです.教えてgooは卒業しても良いのでは? サイトに書いてあった事を書いただけです。 サイトについては、そうですよね。まずはlinuxをいじくってるならhttp://www.linux.or.jp/を見にいくべきですよね。 また何かにつまったたらまずはここから問題解決を目指すようにします。 ありがとうございました。

関連するQ&A

専門家に質問してみよう