• ベストアンサー

Kシェルに関して。

Kシェルを勉強したいのですが、まだ始めたばかりなのでシェルスクリプトを 見てもよくわかりません。オライリージャパンの「入門kornシェル」だけを購入 したのですが、ほかにKシェルの勉強に役立つ本は何かありますでしょうか? また、Kシェルを勉強できるホームページなどご存知でしたらお教え下さい。 KシェルはBシェルに関連していると聞きましたが、Bシェルの本など見ても 通用するのでしょうか? Kシェルを勉強して、自分でシェルを作れるようになることが目的です。 Kシェルを勉強することに関して、何か役に立つ情報をご存知でしたらお教え ください。 よろしくお願いいたします。

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

  • ベストアンサー
  • Sarukan
  • ベストアンサー率55% (41/74)
回答No.2

 すみません。  どうも今検索したら少し前くらいにだと思いますが、トッパンは現在出版活動を停止してしまったようです(私も今年に入ってから手に入れたばかりだったのでまだあるものと思い込んでいました)。  ですので、他のShellなどもあわせた書籍なども紹介している一覧ページのURLを紹介いたします。その中では日経BPの「UNIXUNIXシェルプログラミング徹底解説」などがKorn Shellにも対応しています。 # 「Korn Shellプログラミング」も載ってます。もし中古で気合を入れて探すなら # 資料にはなるかも…。  紹介した本が絶版で申し訳ありませんでした。深くお詫びいたします。

参考URL:
http://www.yfcbookshelf.com/unix%20mokuji.htm
batacha
質問者

お礼

わざわざご丁寧にありがとうございました。 参考URLに問い合わせてみました。 「Korn Shell プログラミング」は結果的に見つからなくてもかまいません。 アドバイスどうもありがとうございました。

その他の回答 (2)

  • onosuke
  • ベストアンサー率67% (310/456)
回答No.3

KシェルはBシェルの上位互換(より便利)なので,Bシェルについて勉強したことは,Kシェルでも通じます。 また,シェルスクリプトについての勉強なら,Bシェル本の内容でほとんどの範囲をカバーできます。Kシェル独自の部分は,使えば便利だけど他のもので代用できる,というのが殆どですから。(GNU配布のツール 及び 同等品 がない環境だと代用品なくて困るけど) 一方,インタラクティブなシェルについてだと,Bシェル本はKシェルの非常に便利な機能の解説がなくて困ります。しかし,この点は「入門kornシェル」を既にお持ちなので,問題ないでしょう。

batacha
質問者

お礼

ご回答ありがとうございました。 やはり、Bシェルの勉強はKシェルで通用するのですね。 よかったです。 なんとか頑張って勉強してKシェルが組めるようになりたいと思います。 アドバイスありがとうございました。

  • Sarukan
  • ベストアンサー率55% (41/74)
回答No.1

 株式会社トッパンから出版されている「KornShellプログラミング」(4800円、B=ローゼンバーグ・著、小畑喜一・監訳、磯谷正孝/林秀幸・訳)という本がかなりK Shellスプリクトを書くのに参考になると思います。  宜しければさがしてみてください。  以上、参考になれば幸いです。

batacha
質問者

補足

早速のご回答誠にありがとうございました。 そのような本があるとは知りませんでした。教えて下さり、感謝いたします。 株式会社トッパンを検索してみましたら、トッパンなんとかという会社も 含めましていろいろ出てきて、どれが目的の会社なのか分かりませんでした。 もしよろしければ、その本を入手できるサイトか、その会社のホームページ のURLなど教えていただけないでしょうか? 普通の本屋で買える物なのでしょうか? お手数ですがよろしくお願いいたします。

関連するQ&A

  • シェルの習得方法について

     システムの運用を行うことになり、Bシェルで作られたスクリプトの編集、追加を行うことになりました。  以前、コマンドラインでシェルを叩いたり、作られたスクリプトの値を変更する程度の作業は行っていました。  しかし今回は要求に合わせて設計(記述する内容)、作成、テストまでを行うことになり、経験の無い私はシェルの勉強をはじめました。  シェルを習得するために入門UNIXシェルプログラミングを読み、基本的な書き方や、シェル変数、リダイレクションについて大まかな概略は理解できたのですが、読んだだけで友人にはスクリプトの例を見たり、自分でスクリプトを作っていくことを進められましたが、何から手をつけ、どのように習得していけばよいか判らない状況です。 是非、習得方法をご存知の方が居られましたら、アドバイスお願いします

  • Kシェル上でフラットファイルの条件付き集計をしたい。

    いつもお世話になっています。Kornシェルで、以下のようなcsv形式のファイルを次の様に集計したいです。 <列A,C,D,E,F,G が全て一致する行毎に列Fの値を集計> (入力) 列A------列B------列C----列D---列E--列F-----列G------列F "10001","0090300", 11110," "," "," "," ",1013134 "10001","0090300", 11130,"0009","888","01","5050455",28428260 "10001","0090300", 11130,"0001","001","01","1111111",258925 "10001","0090300", 11165,"9900","999","09","9999903",0 "10001","0090300", 11110," "," "," "," ",592092 "10001","0090400", 11130,"0009","129","01","1018224",12489867 "10001","0090300", 11130,"0001","001","01","1111111",200000 "10001","0090400", 11165,"9900","999","09","9999904",834592 "10001","0090700", 11110," "," "," "," ",300000 (期待する出力) "10001","0090300", 11110," "," "," "," ",1905226 <--- 1行目, 5行目, 9行目が集計されている "10001","0090300", 11130,"0009","888","01","5050455",28428260 "10001","0090300", 11130,"0001","001","01","1111111",458925 <--- 3行目と7行目が集計されている "10001","0090300", 11165,"9900","999","09","9999903",0 "10001","0090400", 11165,"9900","999","09","9999904",834592 "10001","0090400", 11130,"0009","129","01","1018224",12489867 出力のソートの必要はありません。 これをシェル・スクリプトだけで実装するのは、無理でしょうか。良いアイディアをお願いします。

  • シェルスクリプト 引数の引渡しについて

    こんにちは。現在シェルスクリプトを勉強中なのですがどうしてもわからないことがあり投稿させていただきました。 シェルスクリプトにて作成した引数(引数にスペースがある場合)を別のシェルスクリプトへ渡そうとしたときにうまく引き渡せなくて困っています。 詳しくは以下のスクリプト参照願います。 (1)引数作成のスクリプト _/_/_/_/_/_/_/_/_/_/_/_/ #!/bin/sh a="HELLO" b="\"WOW WOW\"" test.sh $a $b _/_/_/_/_/_/_/_/_/_/_/_/ (2)test.sh _/_/_/_/_/_/_/_/_/_/_/_/ #!/bin/sh echo $1 echo $2 echo $3 _/_/_/_/_/_/_/_/_/_/_/_/ これを実行すると $1=HELLO $2="WOW $3=WOW" となってしまいます。 これを $1=HELLO $2=WOW WOW $3=NULL(空欄) となるようにシェルスクリプトで作成することはできないのでしょうか? ご教授よろしくお願いします。 よろしくお願いします。

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

    シェルスクリプトを書いていますが、思うように動きません。シェルにお詳しい方がいらっしゃいましたら、ご教授ください。以下のような仕様です。 1.Working dierctoryの中から目的のファイルを検索 2.検出されたファイルの内容を1行ずつ表示させる。 このような簡単な仕様なのですが、awkを使用する必要はありますでしょうか? シェルは初めてなので勉強不足なため、ここで質問するにあたり、情報が不足していましたら、どうぞ補足してください。宜しくお願い致します。

  • kshについて

    現在AIXなどのUNIX系のシステムの運用(AIXがほとんどです。)をやっているものです。 AIXのコマンドを勉強しようと思い、その一環でというか、シェルを作ったり、作られたシェルを 解析することでコマンドの勉強になると思い、シェルについて勉強しようと思っています。 そこで、シェルについての本を探しているのですがどのような本が良いでしょうか? 皆さんが実際に読んでみてよいと思った本を教えてください。 ちなみにkshです。 探してみたのは、 入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 ブルース ブリン (著) UNIXシェルスクリプトハンドブック 関根 達夫 (著) です。 よろしくお願いします。

  • Kシェルでの桁数取得

    こんにちは、 昨日に続いてまたKシェルの質問です。 タイトルのとおりなのですが、 変数にはいっている文字列が、1文字か2文字か、という判定は可能でしょうか。 1文字の場合、頭に0を連結し、 2文字の場合はそのまま通すというものを作りたいのですが、参考になるものが探せませんでした。 (ex.変数に9が入っていたら、09、11ならそのまま) ご存知の方、いらっしゃいましたらご教授願います。 (参考にできそうな本を教えて頂いたのですが、近所にはなく注文するとすると時間がかかってしまうので…;;)

  • shはシェルなのかコマンドなのか?

    http://d.hatena.ne.jp/KishikawaKatsumi/20080504/1209922424 で $ sudo sh j2sdk-1_4_2_13-linux-i586-rpm.bin $ sudo rpm -ivh j2sdk-1_4_2_13-linux-i586.rpm と、shと打ち込むと最後の.binが消えますが、shは シェルなのか、それともコマンドなのかどちらなの でしょうか? 手元にあるlinuxの入門書には「shはシェルの一種である」 と記述があります。googleで検索をしてみましたが、 コマンドであるような記述もあり、混乱しております。 また、その入門書には「シェルを切り替えるには、コマンドライン でシェルの名前を入力します。exitコマンドで、元のシェル に戻ります」とあり、その文章の下には実際にshと打ち込んでexit で元に戻る様が書いてあるので実際に試してみました。 [root@localhost ~]# sh sh-3.2# exit exit [root@localhost ~]# この記述のせいでますますわからなくなりました。 なお、最後のbinがシェルスクリプトであることは理解して おります。 ご存じの方、ご教授頂ければ幸いです。何卒宜しくお願い申し 上げます。

  • (PC初心者)シェルスクリプトおすすめ参考書

    Linuxのシェルスクリプトを覚えようと思っています。 分かり易く挫折しない参考書or問題集があれば教えて欲しいです。 できれば、考えながら勉強したいので問題集の方がよいです。 ご存知あれば教えて頂ければ幸いです。

  • BシェルでSQL文を実行

    【OS:AIX】 あるユーザーでCRONを組んでおり、オラクルのプレシジャを読み込ませるシェルプログラムをCシェルで組んでありました。 それをとある理由でBシェルに変更させてチェックしております。 ところがBシェルに変更してから以下のsqlplus文で失敗してしまいます。 ただ、単独でshファイルを実行するときは、SQL文も読み込んでくれて問題なく正常に終了するのですが、crontabで実行させるとSQL文を読み出すところで失敗してしまいます。 何かいけないところはありますでしょうか # SQL*Plusを呼び出しデータ作成 sqlplus ID/PASSWORD@SID < $HOME/script/data.sql ユーザアカウント自体はデフォルトでKシェルで作成されたユーザです。

  • kシェルスクリプト内に行を挿入

    kシェルスクリプトで質問です。 例えば、以下のようなファイルがあったとします ********************************************** #!/bin/ksh   if (条件式1) then   コマンド1   コマンド2 endif if (条件式2) then   コマンド3   # aaaaaaaaaa else   コマンド4 endif ********************************************** ”コマンド3”の文字列をキーにして"# aaaaaaaaaa"の下に 「echo ttttttttt」 と、を追加するといった方法、ないでしょうか? もちろん、viで開いて追加する・・・というのではなく、、、 awkやsed等々、コマンドで。ご存知の方いらしたらお願いします。 ps. 余力があればjavaでも検討したいとは思いますが、javaはまったく初心者。。