dポイントプレゼントキャンペーン実施中!

Mac OSXで、スクリプトを所定時間に起動させたいです。
そこでcrontabに登録してみたました。スクリプトは起動されたのですが、バックグラウンドで起動され、標準入力からの入力ができません。

☆ターミナルを新規に開いて、そのターミナル上で起動して欲しいです。
イメージとしてはhomeディレクトリ配下にlogin.command(中身はスクリプト)を置いた時に、起動直後にlogin.commandがターミナルを新規に開いて実行してくれる様な感じです。

OSXのversionは10.6.8でです。

以上、ご指導の程、宜しくお願い申し上げます。

A 回答 (4件)

私も理解できていないのですが、ある特定の時刻になると実行したいのか、それともログインしたときに実行したいのでしょうか?



また、ユーザーが何か入力する必要があるのか、見ているだけで良いのでしょうか?

見ているだけでいいのでしたら、xxxx.commandを起動してやればよいし、入力が必要ならAppleScriptでターミナルを起動してコマンドを書き込めばできます。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。AppleScriptってのがヒントになりました。

お礼日時:2013/07/19 23:14

まだ理解できていませんが、ターミナルを正面に持ってきたくて、何か入力したいのでいたら


open "/Users/xxxx/xxxx.command"
を実行すると
xxxx.command
をダブルクリックしたのと同じ動きをするような感じです(corntabが使えないので確認は取れていません)
xxxx.command
のファイルの最後に
bash
と入れておけば、命令も後で手で入れられます。

聞きたいことと違うような気もしますが、
    • good
    • 0
この回答へのお礼

ご回答有り難うございます。
openでもできました。先の回答者さんのapplescriptで.appを作ってって方法でできたので、そちらにBAを付けてしまいましたが、
こちらのopenの方が簡単でした。

お礼日時:2013/07/19 23:17

逆に、なぜ、そんな自動実行されるスクリプトに、標準入力が必要なのでしょうか?


必要なら、リダイレクトで入力すればよいのでは?
    • good
    • 0
この回答へのお礼

どうもでした。

お礼日時:2013/07/19 23:18

MacOS は分かりませんしそのようなことをしたいという要求もあまり理解はできませんが, 「ターミナルを新規に開いて、そのターミナ

ル上で起動する」ように crontab に書けばいいのでは?

この回答への補足

Tacosanさん、ご回答有り難うございます。

そのターミナル上で起動する様に、crontabを書く事ってできるのですか?
Tacosanさんのご存知のOSでの話で結構です。

crontab -e で登録したスクリプトは、そのターミナルの標準出力とむすびつけられるのですか?

あ、でもそれができても、あまり意味ないです。。。 登録したターミナルはいつまでも開いてられないので、(電源落としますから

やはり、crontabでスクリプトが実行される時、新規にターミナルが勝手に開いて、そこで実行して欲しいのです。

どうして、そのような事をしたいかと言うと、人の入力を求めるスクリプトを毎日(パソコンが立ち上がっていれば)起動したいからです。勝手にターミナルがポップアップしてきて、そこに入力するようにしたいのです。

login.commandのイメージなんですが、これはOSX知らない人にはイメージつかないですかねぇ。

ご回答ありがとうございました。

補足日時:2013/07/19 20:13
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!