• ベストアンサー
  • 困ってます

CシェルプログラミングをCygwinで?

csh環境でのスクリプト作成をしたいのですが、UNIX環境をWindows上で実現できる?Cygwinというものがあると知りました。Cygwinにおいてシェルプログラミングは、本物のUNIXのようにできるものなのですか? シェルがLinuxRedHat並に動作すれば充分なのですが、不足する機能などはないのですか? またシェルプログラミングを学ぶ上で充分なのか判断できないので経験者または専門家の方ご教授願います。 またCygwinは起動させると重いんでしょうか? Cygwinを分かりやすく説明しているサイトなども教えて頂けるとうれしいです。よろしくお願いします。

noname#92415

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数1600
  • ありがとう数2

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

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

#1です。 >cshはスクリプトを書くための言語ではないです。 というのはちょっと言いすぎだったか。 コマンドが並んだ程度の単純なスクリプトならcshでも十分書けますので、cshサンプルを動かしたければ、#2さんのお書きのようにcygwinのインストール時の設定でtcshを入れれば良いです。cshの上位互換です。 #1でcolinuxを挙げましたが、これからシェルプログラミングを勉強すると言うレベルだとインストールが難しいかも知れませんので、cygwinのほうがいいでしょう。インストールは簡単です。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。なるほど経験者の方に言われるとCygwinはUNIXの学習という点では特に問題なく利用できるようですね。スクリプトの作成を学ぶ程度なので早速Cygwinを利用したいと思います。助かりました。ありがとうございました。

関連するQ&A

  • cygwinでcshが認識されず困っています

    初めまして。現在、研究に必要なため、windows上でcygwinを使っております。 cshで書いたスクリプトを実行すると、 bash: csh: command not found と出てきてしまいます。 数週間前にPCに不具合があり、リカバリしたためcygwinを入れ直したところ、 このような事態になりました。 以前と同じ設定をしたので、原因がわかりません。 見当違いの方法かもしれませんが、 起動時のシェルをtcshに変えてみても状況は変わりませんでした。 UNIX等についてあまり詳しくないため、大変困っております。 cygwinを使ってらっしゃる方、UNIXに詳しい方、教えて頂けませんでしょうか? よろしくお願いいたします。

  • Cygwin上でCシェルのforeachが動かない……

    今回UNIX上の機能をWindows上で実現できる 「Cygwin」というものをインストールしました。 あるプログラムa.outを同じディレクトリにあるxmlファイル全てに対して実行したかったので #!/bin/csh foreach i(*.xml) ./a.out $i end というk.shファイルを作り csh k.sh で実行してみたのですが最初に見つかったと思われる一つのxmlファイルにしかa.outが実行されません。 スクリプトの書き方に問題があるのでしょうか? それともプログラム……? ここを利用するのは初めてですが、どうぞよろしくお願いします。

  • cygwinを使ってネットワークプログラミング?

    ネットワークプログラミングがしたいです。 どのレベルのものかといえば、ソケットレベルのものです。 そこで書籍やサイトを探しているのですが、どうも プラットフォームがUNIXとして書かれているものが多いです。 cygwinを使えば、UNIX環境でプログラミングをしているのと 変わりなくプログラミングできるのでしょうか? ##以下蛇足 cygwinはUNIXをエミュレートしているだけだから本質的には、 違うと思いますが、EXEを実行した時に結果が同じであれば 問題ありません。 ccかgccを使うのでしょうか。IDEがないと思うので、 自分でmakefile作らないとだめなのかな・・

その他の回答 (2)

  • 回答No.2

もし、手持ちのテキストやサンプルが csh/tcsh で、そこにこだわりたいなら、カスタムで tcsh をインストールする必要があります。 #1 さんの書かれたとおり、標準はあくまで bash ですから。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。やはりフリーのソフトとなるとBashが標準となるのですね。カスタムでcsh/tcshを利用できるのであれば問題ないと思います。ありがとうございました。

  • 回答No.1
  • notnot
  • ベストアンサー率47% (4592/9639)

cshはスクリプトを書くための言語ではないです。コマンドラインで使うためのシェルの一種で、.cshrc や .login を書く程度のスクリプト記述能力しかありません。 cygwinだとbashが標準なので、bashでスクリプトを書くのが良いでしょう。機能としてはunix/linux並と思っていいと思います。cコンパイラもあるのでもし不足するコマンドがあってもインストールすれば良いですが、各種コマンドは十分標準で揃っています。 重さですが、grep,awk,perl等同機能のWin32ネイティブのコマンドと比べて特に重いと言う事は無いです。Xまで動かすとWin用の製品版Xよりは重いですが、製品版相手なのでこれはしょうがないですね。 他にはWindows上でlinuxを動かすcolinuxというのもあります。これだと本物のlinux(Debian等)がwindowsと同時に動きます。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • シェルの中からシェルを呼び出して判定

    UNIXで以下のようなシェルが動作しております。 #!/bin/sh su abcdef -c './GHI'; err=$? if [! $err -eq 0 ] then echo エラーが発生しました fi exit このシェルは「abcdef」ユーザに移ってカレントディレクトリのシェルコマンド「GHI」の結果を判定するというものです。 UNIX上では問題なく動作しております。 これをLinuxでそのまま動作させると「err」に「su abcdef」というユーザ切替コマンド自身の正否を格納しているようです。 「'」でくくられた範囲内で結果をファイルに格納したりして、その後ファイルの中を見て判断するとうまくいくことは分かっておりますが、出来たらファイルなど使いたくありません。 このような場合、みなさんどうしてるんでしょうか? よく出てくるパタンだと思うのですがどうしても良い対処が見つかりません。 どうか宜しくお願いします。 Linuxは「miracle-Linux2.0」というOSです、いわゆるRedHat系です。

  • cygwin上でvbscirptを実行する方法

    cygwinのコンソール画面で、hello.vbsというvbsファイルを起動し、vbスクリプトを実行する イメージです。 実現したいことは以下です。 UNIXサーバから、rshコマンドで、Windowsサーバのシェル(cygwin上)を実行する。 Windowsサーバのシェルは、さらに、vbscirpt(拡張子.vbs)を内部で実行する。 本来は、Windowsサーバのシェルのみで実装したいのですが、vbscriptで動作させる方法 しか分からないので、上記方法をとりたいと思っています。

  • シェルの学習

    私はUNIXを使ったことがないのですが、仕事でシェルを使うことになりました。Linuxで勉強しようと思っているのですが、シェルとは難しいものなのでしょうか。また、どの位の学習時間が必要でしょうか?ちなみにプログラミングはCとJavaのプログラミングの経験はあります。

  • cygwinのtcshでパスが通らない

    現在、WINDOWS2000で、cygwinを使ってunixの環境を開発しておりますが、起動時のシェル(bash)をtcshに変更すると、今まで通っていたパスに通らなくなってしまいます。 環境変数には、ちゃんと設定しているんですが。。 どなたか、cygwinを使ってらっしゃる方、わかったら教えて頂けませんか?大変困っています。

  • MinGW,msysでCスクリプトの実行

    windows上でCシェルスクリプトで書かれたファイルを実行する必要が生じました。 これまではcygwin上で難なくやっていたのですが、cygwinは大きいので、これをやめてMinGWにしたため、Cシェルスクリプトが流れなくて困っています。MinGW、msysにはCシェルは無いようです。そこで、MinGW,msys,minttyの環境下で以下のようにやってみたのですが、これでよいのでしょうか? (1)MinGW,msys,minttyをインストール(Bシェルの環境ができる) (2)tcsh.exeをwebからダウンロード(ftp://ftp.funet.fi/pub/unix/shells/tcsh/) (3)tcsh.exeをmsysの/binに入れて、cshにハードリンクを張る(#ln tcsh.exe csh) これで簡単なCシェルスクリプトは流れるようですが、そのCシェルスクリプトの中で、さらにスクリプトファイルを実行させるようなスクリプトはうまく流れません。結局、試行錯誤の結果、以下のように、csh,shを頭に付加してようやく流れるようになりました。 ・元のファイル(script-a,bは流れない) #!/bin/csh -f ........... ./script-a(Cシェル) ./script-b(Bシェル) ........... ・修正後(ようやく流れた) #!/bin/csh -f ........... csh ./script-a(Cシェル) sh ./script-b(Bシェル) ........... 何故このようにしなければいけないのか?また、minttyでCシェルスクリプトを流す方法はこれでよいのか?(他に方法はないのか?)ご教示頂ければと思います。 当方、シェルスクリプトは全く素人で質問自体が的外れかもしれませんがよろしくお願いします。

  • Cygwinでftp

    Cygwinをダウンロードして、会社のPC(Win2000)と自宅のPC(WinMe)それぞれにインストールいたしました。会社の業務でUnixマシーン上で動かすShellや簡単なプログラムを作成することになりそうなので、Unix環境でC/C++やCシェル(tcsl)などの勉強をしたいのです。Cygwinのマニュアルが英語なので、苦労しております。 たとえば、viでC/C++のソースをかいて、それをネットワークでつながっている社内のUnixマシーンにftpすることはできますか?また、Lanでつながってはいない、 外部のUnixマシーンにftpすることは可能でしょうか? よろしくお願い致します。

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

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

  • TeraTerm+Cygwin環境について

    お世話になります。 現在UNIX廃止案件により、WindowsXPへCygwinをインストールして、環境構築を行っているところです(検証段階)。 今まで、クライアント(WindowsXP)からUNIXへは、TeraTermによりTelnet接続を行っておりました。 TeraTerm+Cygwin環境においてもTelnet接続で環境を構築したいのですが、 (1)マルチユーザーにて処理可能か? (2)ログインユーザーを複数持って、Windowsの再起動なしに、各ユーザーの環境ごとに切替は可能か? に関して、良い情報が得られませんでした。 情報お持ちの方いらっしゃいましたら、 ご教授願えないでしょうか。 OS:サーバー、クライアント共にWindowsXP Pro TeraTerm:Ver4.63 言語:csh(tcsh) 以上、よろしくお願いいたします。

  • 他ユーザーのシェル実行

    OSはredhat linuxです。 aaausrとbbbusrの2つのユーザーを作成しています。 このうちaaausrからbbbusrのシェルをbbbusrとして実行したいと 考えています。 また、rshやsshは使用しないで実現したいと考えています。 このような事は実現可能なのでしょうか?。 分かる方がいらっしゃればお教え頂ければと思います。 以上です。

  • Windowsで練習したい

    Solaris系UNIXの練習をWindowsでやりたいと思っています。 環境はSFUかCygwinを考えているのですが、どちらが、よりSolaris系UNIXに近い環境を実現できるのでしょうか。 シェルの違いとかは、関係するのでしょうか。 初心者なためわからないことが山積しています。お知りのかた、ご指南ください。 では。