- ベストアンサー
アップルスクリプトで複数行のDoShellScript
アップルスクリプトでsendmailのようなコマンドラインをDo Shell Script するときに複数行を送るとエラーになりますが、何か特別な書き方があるのでしょうか? Do Shell Script "sendmail ***@efg.com From: *****@stu.com To: ***@efg.com Subject: たいとる 本文 . "
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
もう一つちなみに、シェルスクリプトとして実行したい場合には echo (タイトルと本文) | sendmail -r (送信先アドレス) (送信元アドレス) などとします。
その他の回答 (3)
- capy2009
- ベストアンサー率72% (337/465)
ちなみに、 > sendmail ***@efg.com > From: *****@stu.com > To: ***@efg.com > Subject: たいとる > 本文 > . これはシェルスクリプトじゃないですよ。その証拠に、この内容を test.sh などのファイル名でセーブして sh test.sh を実行しても動かないはずです。ですから do shell script では使えません。 そうではなくて、ターミナルの CUI を利用してインタラクティブに実行する単なるコマンドなので、tell application "Terminal" to do script を使えば実行できます。
お礼
ありがとうございます おっしゃる通りにしたらちゃんとできました
- capy2009
- ベストアンサー率72% (337/465)
ああ、複数のコマンドを実行しようというわけではないんですね。 ならセミコロンでなく & return で繋いでください。
お礼
ありがとうございます エラーは出なくなったんですが 思ってるような動作してくれません do shell script "sendmail ***@***.com" & return & "From: ***@***.com" & return & "To: ***@***.com" & return & "Subject: myTitle" & return & "myContents" & return & "." & return もうちょっとがんばってみます
- capy2009
- ベストアンサー率72% (337/465)
改行でなくセミコロンで区切ってください。
お礼
ありがとうございます 勉強になります