- ベストアンサー
バッチコマンドをmacターミナルで
コマンドプロントでbatなどの拡張子で コマンドを保存し、そのファイルを実行させる と言う方法がありますが、ターミナルで 同じようなことができますでしょうか? 以下環境になります。 ----------------------------- mac os 10.2.8 テキストエディタはmiを使用。 実行したい内容はmxmlc -----------------------------
- みんなの回答 (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 と書き換えてください。
その他の回答 (2)
- P-mann
- ベストアンサー率62% (56/89)
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)
shell scripting. Autometer.
お礼
ご回答ありがとうございます。 ご提示頂いた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$ ----------------------------- となってしまい何も反応がありません。 どこか間違っている箇所がありますでしょうか? ターミナル・シェルスクリプトは始めたばかりで 質問がおかしい部分もあるかと思いますが お気づきの点があれば書込みをお願いします。
お礼
ご回答ありがとうございます! ご指摘の通り改行コードがmacでした。 確認不足でした。申し訳ありません。 またパスの指定を修正し、 echoコマンドでテスト→成功。 shell.shを実行することもできました。 知識不足の質問に付き合って頂き ありがとうございました!勉強になりました!