Shell 如何在unix中将最后一个命令设为无限循环

Shell 如何在unix中将最后一个命令设为无限循环,shell,unix,Shell,Unix,我想每次从服务器获取信息,无论此人是否每次登录到系统,如果他每次登录到系统,信息必须存储在一个文件中。我需要使该脚本无限期工作,以便他每次登录到系统,它将存储在该文件中。目前我在这里 last grep id > filename // fetching information into file tail -r filename // reversing the info from current date 您可以使用以下命令使脚本每隔5分钟重

我想每次从服务器获取信息,无论此人是否每次登录到系统,如果他每次登录到系统,信息必须存储在一个文件中。我需要使该脚本无限期工作,以便他每次登录到系统,它将存储在该文件中。目前我在这里

      last grep id > filename  // fetching information into file
      tail -r filename         // reversing the info from current date

您可以使用以下命令使脚本每隔5分钟重复一次

while true; do
   last | grep id >> file
   sleep 300
done
这将带来更多的问题,例如文件中的双重注册、使用的间隔时间、重新启动后重新启动循环的热度以及脚本被终止时要做什么?
更好的方法是在crontab中添加条目,以便在固定时间进行轮询。

如果您想在用户登录后进行审核,并且不想安装一些记帐系统,为什么不在/etc/profile或/etc/bash.bashrc中添加一些内容呢?或者使用上一个会计科目?

不清楚。无限循环/每次记录??你到底想要什么?我的意思是,如果有人登录系统,最后一个命令需要获取该信息并存储在一个文件中,这意味着该命令需要连续工作。如果我们只运行脚本,这将起作用。我们的目标是在不执行contab的情况下继续运行此脚本:
***last | grep-m1id>/home/arun/wtmp
。当您可以将用户的所有登录时间都保存在一个文件中,甚至在用户登录时收到邮件时,您希望脚本持续运行的目的是什么?连续不断地?是否希望每毫秒调用最后一次?我希望每次用户登录时都运行该脚本。。这个脚本应该持续运行。。。请在日期的同时,将命令“tty”和“id”的输出附加到每行的末尾,查看/etc/password用户拥有的shell,并开始使用/etc登录设置进行测试。