アプリ版:「スタンプのみでお礼する」機能のリリースについて

初回ログイン時のみあるプログラム(コマンド)を実行させたいのですが、どのような方法があるでしょうか?

sun Ultra-80 soralis8

A 回答 (2件)

#1 です.


えぇと, 確かに「~/.cshrc を読み込むたび」に実行はしますが, 厳密には「~/.cshrc を読み込むたびに『特定のファイルが存在するかどうかを判定し, 存在するときだけ実行する. で実行したらその特定のファイルを削除する』という動作を行う」わけです. 1回 ~/.cshrc を読み込むとその「特定のファイル」を削除してしまうので, 次からはコマンドを実行することはありません. ああ, その意味ではファイルの削除とコマンドの実行の順序を入れ替えた方が安全ですか.
で, 「毎朝ログインして, 夜にログアウトする」ときに「毎朝の最初のログインのときだけあるコマンドを実行する」ということだとすると, 方針としては
・#1 と同じように考えると, ログアウトするときに ~/.logout が実行されることが前提ですが, ~/.logout で date "+%Y%m%d" > some_file する. 次にログインしたときに ~/.cshrc 中で再度 date "+%Y%m%d" して, その結果が some_file の中身と違っていれば「その日の最初のログインである」とみなしてコマンドを実行し, その後 some_file を消す.
・last |grep $USERNAME | head -1 の結果を見て考える.
ということかなぁ?
    • good
    • 0
この回答へのお礼

分かりました。そういうことだったんですね、ありがとうございます。フィアルを消したり作ったりという原始的な作業がちょっと気にはなりますが、確かに私の意としていた事が実現できました!ありがとう御座います。

お礼日時:2006/04/04 18:14

「初回ログイン時」の意味にもよるんですが, あらかじめ特定の名前のファイルを作っておいて, そのファイルがあったらあるコマンドを実行してファイルを消すという感じではどうでしょう? 例えば csh なら


if (-f some_file) then
do_some_command
rm some_file
endif
って感じ.

この回答への補足

すみませんでした、「初回ログイン時のみ」というのはそのマシンに最初にログインした時という意味です。
具体的には、毎朝ログインして夜ログアウトして帰るので、その朝の一回のログイン時のみ何かを実行させたいと言った感じです。
Tacosanさんの回答は、.cshrcに書き込むという事ですよね?その場合.cshrcを読み込む度にということになってしまうと言うことですよね?

補足日時:2006/04/04 13:45
    • good
    • 0

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