求判断 shell 是不是当天第一次启动的办法

2017-02-15 22:40:23 +08:00
 scriptB0y

发现一个很好玩的命令: curl wttr.in 我想让 shell 第一次启动的自动执行这个命令,但是只在每天第一次执行,找了一下没有发现解决办法……请问有什么好的方法?(除了写文件的话)

2799 次点击
所在节点   Bash
14 条回复
nodejx
2017-02-15 22:52:30 +08:00
查看 history...
kuretru
2017-02-15 22:54:14 +08:00
@nodejx shell 执行的命令 不会留下
Tyanboot
2017-02-15 22:58:41 +08:00
写个脚本,执行 curl 的时候写入一个文件,然后执行之前也判断一下是否存在该文件,不存在就执行,存在就不 curl 。

然后再用 crond 定时每天删除这个文件。。。
scriptB0y
2017-02-15 22:58:53 +08:00
@kuretru
@nodejx
我试一下 send-keys 给 tmux 会不会留下
scriptB0y
2017-02-15 22:59:30 +08:00
@Tyanboot 这样留下的东西就太多了……实在不行就这么干吧
billlee
2017-02-15 23:19:36 +08:00
@scriptB0y 不用 cron 应该也可以,用 touch 和 stat 判断文件的时间
Hello1995
2017-02-15 23:33:51 +08:00
人为创建一个隐藏文件,不需要写入,不需要删除,隐藏也不碍眼。只需判断和改变时间戳, touch , stat -c %X
scriptB0y
2017-02-15 23:35:43 +08:00
@Hello1995

就在~下面建一个.flag 存放各种 flag 文件吧 >_<
CEBBCAT
2017-02-16 01:47:21 +08:00
@scriptB0y ,小白在这里提醒一下哦,不要忘记考虑程序在执行过程中被中断这种情况
ryd994
2017-02-16 06:57:12 +08:00
其实直接写个日期文件就好
每次比对一下
lhbc
2017-02-16 08:41:55 +08:00
弄个 sqlite 吧
kingddc314
2017-02-16 09:17:30 +08:00
查看 history 文件的修改时间是否是今天
Devin
2017-02-16 09:34:01 +08:00
inotify-tools 监控 shell 程序(如 bash )被读取事件,一被读取,记录读取时间,剩下的你懂的
LukeXuan
2017-02-16 11:04:00 +08:00
我记得 zsh history 带 timestamp ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340759

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX