Cygwin なんでも掲示板

一覧最新記事過去一覧 | 検索FAQアンテナHOME
(新規投稿・発言はできません)


スレッド

└◇2997:
batからシェルの起動 [K1] 08/08 11:40

 ├◇2998:Re:batからシェルの起動 [通りすが] 08/08
 │└◇3000:Re:batからシェルの起動 [K1] 08/08
 │ └◇3003:Re[2]:batからシェルの起動 [通りすが] 08/08 <
 └◇3001:Re:batからシェルの起動 [zxcv] 08/08
  └◇3002:Re:batからシェルの起動 [K1] 08/08


2997● batからシェルの起動[ K1 ] 2005 08/08 11:40
Cygwinについて初心者です。
皆様よろしくお願い致します。

早速質問なのですが、UNIXで動いていたシェルをwindowsで動かさなくてはなりません…。
Cygwin.batを起動してシェルを実行する事は可能なのですが、
batから起動する方法がわかりません。
クーロンで実行すれば指定日時に起動することは可能だと思いますが、
どうしてもbatファイルから起動しなくてはなりません…。
イメージとしては
cygwin.exe -f filename
上記はコマンドもオプションもイメージで書きましたが、
どなたかbatから起動する方法をご教授願いませんでしょうか。
よろしくお願い致します。
スレッド一覧


2998● Re:batからシェルの起動[ 通りすがり ] 2005 08/08 13:03
Cygwin用の.exeファイルを実行するなら、
・cygwin1.dllと.exeファイルにPATHを通す
・cygwin1.dllと.exeファイルをPATHの通っている
 ディレクトリにコピーする
・CDでcygwin1.dllと.exeファイルのあるディレクトリに
 移動して実行する
・cygwin1.dllにパスを通して、.exeファイルをWindowsの
フルパス(C:\Cygwin\bin\〜.exe みたいな感じ)で実行する

など、Windowsのシステムがcygwin1.dllと実行ファイル
(場合によっては、他の関連するDLL)を見つけられるように
すればできます。

また、cygwinで使用した時と同じ振る舞いをするので、
ファイル名などを指定する時は注意が必要です。
(*.*と書いても全ファイルを指定した事にはなりません
....たしか)


で、今ある情報から答えられるのはこの程度。
そもそも「シェル」って何を指してるの?
Cygwin.batを起動したら「bash」って「シェル」が
(対話形式で)起動しているんですけど。
スレッド一覧


3000● Re:batからシェルの起動[ K1 ] 2005 08/08 13:59
ご回答ありがとうございます。

説明が曖昧な部分がありすみません。
ここでシェルといっているのは、シェルスクリプトのことです。

WindowsのbatファイルにCygwin.batと書いてしまうと、
対話形式になってしまって、目的のシェルスクリプトを実行する手段がわかりません。

皆様ご教授よろしくお願いします。
スレッド一覧


3003● Re[2]:batからシェルの起動[ 通りすがり ] 2005 08/08 19:08
ということは
「filenameというシェルスクリプトをbatから実行したい」
ということでよろしいですか?

ならば、こんな方法は?
1)cygwin.batをコピーして適当な名前をつける
2)1)のbatファイルの最後は「bash -i --login」
 になってるから、これを「bash /..../filename」にする。
 ・/..../の部分はcygwinでのパスで
 ・filenameがcsh系のスクリプトなら「tcsh 〜」
 ・その他、必要に応じてオプションをつける
3)上のbatを実行
スレッド一覧


3001● Re:batからシェルの起動[ zxcv ] 2005 08/08 17:41
> cygwin.exe -f filename

sh.exe c:/foo/bar/filename

うまくいかなければ、Cygwinの binディレクトリがPATHに含まれてるか等を調べてください。

filename とその上位のディレクトリには日本語文字や空白、英記号を含めないのが吉です。
スレッド一覧


3002● Re:batからシェルの起動[ K1 ] 2005 08/08 18:04
zxcvさん、ご教授ありがとうございます。
早速試してみます。

まずはお礼まで。
スレッド一覧

早田のホームページへ
CGIROOM