• ベストアンサー

バッチコマンドをmacターミナルで

コマンドプロントでbatなどの拡張子で コマンドを保存し、そのファイルを実行させる と言う方法がありますが、ターミナルで 同じようなことができますでしょうか? 以下環境になります。 ----------------------------- mac os 10.2.8 テキストエディタはmiを使用。 実行したい内容はmxmlc -----------------------------

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

  • ベストアンサー
  • P-mann
  • ベストアンサー率62% (56/89)
回答No.3

No.2です。 一点気づいたのですが、ひょっとすると改行コードがMacのものに なっているかもしれません。 そうすると、改行が認識されず、 #!/bin/sh cd desktop/flex/file mxmlc alert_v.mxml となり、コメント行となるので何も実行されないとか。 miは使用していないので分かりませんが、改行コードをUNIX (LF)に して保存してください。 ついでですが、mxmlcがPATH(No.1さんの参考URL「コマンドの実行」 を参照)が通っていないところに置いてある場合は、3行目を ./mxmlc alert_v.mxml と書き換えてください。

swqplnndc
質問者

お礼

ご回答ありがとうございます! ご指摘の通り改行コードがmacでした。 確認不足でした。申し訳ありません。 またパスの指定を修正し、 echoコマンドでテスト→成功。 shell.shを実行することもできました。 知識不足の質問に付き合って頂き ありがとうございました!勉強になりました!

その他の回答 (2)

  • P-mann
  • ベストアンサー率62% (56/89)
回答No.2

2日ばかりレスがつかないようですので、失礼とは思いますが 横レスさせていただきます。 普通に考えてください。 シェルスクリプトは書いてある内容をそのまま実行します。 ですので、 $ cd desktop/flex/file $ sh shell.sh   ↓ 以下と同じ $ cd desktop/flex/file $ cd desktop/flex/file $ mxmlc alert_v.mxml となります。当然ですが、desktop/flex/file/desktop/flex/fileが なければエラーです。 cdする必要があるのであれば、/Usersからのフルパスや~/から 指定する方が無難です。おすすめはしませんが。 ですが、エラーすらでないのはおかしいですね。 普通なら、 shell.sh: line 2: cd : desktop/flex/file: No such file or directory とかなります。 まずは、本当にスクリプトが実行されているのかどうかを echoコマンドなどを埋め込んで確かめるといいかと思います。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

shell scripting. Autometer.

参考URL:
http://itpro.nikkeibp.co.jp/article/COLUMN/20060224/230580/
swqplnndc
質問者

お礼

ご回答ありがとうございます。 ご提示頂いたURLを参考に以下のようにしてみました。 desktop/flex/file/shell.sh ----------------------------- #!/bin/sh cd desktop/flex/file mxmlc alert_v.mxml ----------------------------- 以下ターミナルで実行 ----------------------------- bash-2.05a$ cd desktop/flex/file bash-2.05a$ sh shell.sh bash-2.05a$ ----------------------------- となってしまい何も反応がありません。 どこか間違っている箇所がありますでしょうか? ターミナル・シェルスクリプトは始めたばかりで 質問がおかしい部分もあるかと思いますが お気づきの点があれば書込みをお願いします。