• ベストアンサー

シェルスクリプトについての本

Shell Scriptの書き方、作り方などについて書かれた本を探しています。 環境は Linux(vine2.6 or fedora core4)、.bash です。 「この本は良かった」、「これは読みづらかった」などお勧め、勧められない参考書等がありましたら教えてください。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4844/10253)
回答No.2

回答は出来ないのでアドバイスだけ。 プログラミング経験にもよりますが、 まずは、man bash あとは、man sed ,man awk, man expr, man grep, man sort あたりを読んでから本をみるとほとんどの本が買うに値しないとわかると思います。 あとは、/bin /usr/bin にあるコマンドのmanをいろいろと。 プログラミング経験が少なければオンラインマニュアルより入門書籍がいいんでしょうが、ちょっとわかりません。

wolcue
質問者

お礼

回答ありがとうございます。 >ほとんどの本が買うに値しないとわかると思います。 買うに値しないのであれば、必要はなさそうですね。 アドバイス感謝致します。

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4844/10253)
回答No.3

>買うに値しないのであれば、必要はなさそうですね。 誤解を招いたのであればすいません。「全ての本が値しない」というつもりは無いです。少なくとも、man bashをマスターした上で本を選べば数多いカス本をつかむことは無いだろうというアドバイスです。 私は主として man と雑誌で学びました。#1の方が書かれているように /etc/init.d の下もいいと思いますが、ここにあるものはその役目上パターンが似ているので、 file /usr/bin/* | grep "shell script" で探して読むのもいいと思います。

wolcue
質問者

お礼

遅くなって申し訳ありません。 補足感謝いたします。 man以上に頼りになる本は少ないということですね。 /usr/bin/ が存在しないので困ってしまいました。

  • agharta
  • ベストアンサー率52% (54/103)
回答No.1

既にLinuxが入っているならば、/etc/init.dディレクトリ以下のファイルが 非常によい参考図書と思われます。 分からないコマンドは、ひたすらmanコマンドで調べたりGoogleで検索するのが良いと思います。

wolcue
質問者

お礼

回答ありがとうございます。 ネット検索が良いということですね。 紙の方が読みやすくて好きという理由で本を探していましたが、その方向でも勉強してみます。

関連するQ&A

  • シェルスクリプトの1行目

    シェルスクリプトの1行目に#!/bin/bashと書くと思うのですが 環境によってbashのパスが違うのですが、そのような場合は2つ書くことは可能でしょうか? 例えばLinuxなんかは#!/bin/bashですよね? Macだと#!/bin/bashだと3系なので古いので5系をインストールすると#!/usr/local/bin/bashになるんです 1台のパソコンで使ってる分には問題ないですが他の環境で使う場合2つ書くにはどうしたら良いでしょうか?

  • シェルスクリプトの作り方

    OSはVineで、bashシェルです。 シェルスクリプトの作り方ですが、 1.ファイルを作る。 例えば、 #!bin/sh cd tmp このとき、ディレクトリはどこでもいいのでしょうか? 2.権限を付ける。 chmod u+x filename 3.実行 ./filename 他に気をつけることはないでしょうか? 実行すると、 bash: ./filename: bad interpreter: そのようなファイルやディレクトリはありません となってしまって、どうしても実行できません。

  • 【シェル】 count++ をしたい

    if [ $PIN6 == 0 ]; then P6="${SAN}"; else P6="${SHI}" ; `expr $count++` ; fi ; 上のようなシェルスクリプトを書きました。 count++ がうまく作用しません。 これで count=`expr $count +1` と同じ結果を出したいのですが、どうかご享受ください。 環境はLINUX Fedora10 bash です。

  • シェルスクリプト間で排他をとりたい

    環境 linux(redhat) 使用シェル bash シェルスクリプトAとシェルスクリプトBを作成し、 シェルスクリプトAが動作している間は、シェルスクリプトBの動作を禁止したいと考えています。 例えば、シェルスクリプトAが起動している状態で、シェルスクリプトBが起動されたとき、シェルスクリプトBは、シェルスクリプトAが起動していることを検知して、自発的に処理を終了するようにしたいと考えています。 上記のような仕組みをシェルスクリプトで実現可能でしょうか? 基本的には、シェルスクリプトの先頭で、ある資源のロックを行い、終了時にロックの解放ができれば、その仕組みは実現可能と考えています。 (シェルの異常終了時は、ロックが自動的に解放されることが望ましい) 上記のようなことをシェル(bash)で実現可能でしょうか。 bash単独での方法、もしくはbashからperl,C言語作成の実行モジュールを呼び出す方法でもかまいません。 (ちなみにperl(もしくはC言語作成のモジュール)単独では実現可能なことはわかっています)

  • シェルスクリプト

    while文のシェルスクリプトでエラーが出て困っています。 どうすればいいでしょうか? 回答の程宜しくお願い致します。 #!/bin/bash count=1 while[$count -le 5] do touch "y$count" ls -l "y$count" coun ='expr $count+1' done [root@Linux root]# . makefile bash: while[1 -le 5]: command not found bash: makefile: line 4: syntax error near unexpected token `do' bash: makefile: line 4: `do'

  • シェルスクリプトについて

    RedHat Linux v.7.1を常時接続で稼働しています。問題はコンピュータから長期に離れるときは携帯で時々アクセスして作動を確認しています。 どなたか、このサーバが止まったら自分の携帯にメールを送るとか、他のマシーンから時々Pingを打って作動を確認し、pingが返らないときは携帯にメールを送るようなshellスクリプトが在りましたら教えてください。 あるいは参考資料の在る場所など教えていただけませんでしょうか。 プログラムの経験は在りません。

  • シェルスクリプトで配列が使えない

    シェルスクリプトを利用するときに変数を配列として扱えるという記述を見たので、 以下のようなシェルスクリプトを作成したのですが、エラーが出てきてしまいます。 端末で直接入力すると、正しく動作します。そのためなぜエラーとなるのかわかりません。 環境はubuntu 10.10、 GNU bash, バージョン 4.1.5(1)-release (i686-pc-linux-gnu) です。 ---------------------- #!/bin/sh list=(`ls`) echo ${list[0]} ---------------------- 3:Syntax error: "(" unexpected

  • シェルスクリプトについて

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

  • 環境を区別して、動作を分岐させる方法 シェルスクリプト

    bashのシェルスクリプトで、Windows(cygwin)とLinuxの環境を区別して、動作を分岐させる方法が知りたいです。 #!/bin/bash #Windows(cygwin)の場合 ls win/ #linuxの場合 ls linux/ #freebsdの場合 ls freebsd/ #MacOSXの場合 ls mac/

  • Fedora Core と Vine Linuxについて

    学校からLinuxを薦められたので、Fedora CoreかVine Linuxのどちらかを入れたいと思い迷っています。個人として主にプログラミングで使います。学校ではFedora Coreを使っているのですが調べているうちに個人として使うのなら、安定したVine Linuxがいいとありました・・・ 意見をお願いします。 よろしくお願いします。m(_)m