• ベストアンサー

アップルスクリプトで複数行のDoShellScript

アップルスクリプトでsendmailのようなコマンドラインをDo Shell Script するときに複数行を送るとエラーになりますが、何か特別な書き方があるのでしょうか? Do Shell Script "sendmail ***@efg.com From: *****@stu.com To: ***@efg.com Subject: たいとる 本文 . "

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

  • ベストアンサー
  • capy2009
  • ベストアンサー率72% (337/465)
回答No.4

もう一つちなみに、シェルスクリプトとして実行したい場合には echo (タイトルと本文) | sendmail -r (送信先アドレス) (送信元アドレス) などとします。

apple2plus
質問者

お礼

ありがとうございます 勉強になります

その他の回答 (3)

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.3

ちなみに、 > 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 を使えば実行できます。

apple2plus
質問者

お礼

ありがとうございます おっしゃる通りにしたらちゃんとできました

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.2

ああ、複数のコマンドを実行しようというわけではないんですね。 ならセミコロンでなく & return で繋いでください。

apple2plus
質問者

お礼

ありがとうございます エラーは出なくなったんですが 思ってるような動作してくれません do shell script "sendmail ***@***.com" & return & "From: ***@***.com" & return & "To: ***@***.com" & return & "Subject: myTitle" & return & "myContents" & return & "." & return もうちょっとがんばってみます

  • capy2009
  • ベストアンサー率72% (337/465)
回答No.1

改行でなくセミコロンで区切ってください。

関連するQ&A