1

我在 BASH 脚本的第一学期,遇到了一些困难。我参加过其他编程课程,如 C++ 或 Java,但 Bash 的语法让我很受不了。我很想对这个问题提出一些建议。我需要执行以下操作:

  • 从 /var/log/secure 文件中提取今天的数据
  • 检查我是否有一个名为“mylogs”的目录
  • 如果我不 - 然后创建一个
  • 检查“mylogs”目录中是否已有与当前日期、月份和小时匹配的文件。
  • 如果你这样做了,回显到屏幕“文件存在,没有写入我的日志”,然后退出。如果它不存在,则将今天的数据从 /var/log/secure 写入您的“mylog-month-day-hour”文件。示例(2 月 4 日下午 2 点)输出:mylog-02-04-14

我只需要脚本语法部分的帮助。

谢谢 - 我也喜欢任何在 BASH 中提供帮助的网站。

4

2 回答 2

2
  • 从 /var/log/secure 文件中提取今天的数据

你可以这样做...

grep "^Feb 24" /var/log/secure
  • 检查我是否有一个名为“mylogs”的目录,如果没有,则创建一个

你可以这样做 ...

test -d mylogs || mkdir mylogs
  • 检查“mylogs”目录中是否已有与当前日期、月份和时间相匹配的文件。(假设文件名的格式为 DDMMHH)

    test -e mylogs/`date +%d%m%H` && echo "我已经有一个文件"

  • 如果你这样做了,回显到屏幕“文件存在,没有写入我的日志”,然后退出。如果它不存在,则将今天的数据从 /var/log/secure 写入您的“mylog-month-day-hour”文件。示例(2 月 4 日下午 2 点)输出:mylog-02-04-14

嗯,你现在应该明白了。我想你现在可以解决这个问题了;)一个有用的命令是man -k <keyword>

于 2013-02-25T00:26:30.713 回答