#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 の結果を見て考える.
ということかなぁ?
お礼
分かりました。そういうことだったんですね、ありがとうございます。フィアルを消したり作ったりという原始的な作業がちょっと気にはなりますが、確かに私の意としていた事が実現できました!ありがとう御座います。