我正在学习 BASH 脚本的第一个学期,但遇到了一些困难。我已经学习了其他编程类(class),例如 C++ 或 Java,但 Bash 的语法让我难以接受。我很想就这个问题提出一些建议。我需要执行以下操作:
- 从/var/log/secure 文件中提取今天的数据
- 检查我是否有名为“mylogs”的目录
- 如果我不这样做,那就创建一个
- 检查您是否已有与当前日期、月份和时间相匹配的文件 在“mylogs”目录中。
- 如果你这样做,回显到屏幕“文件存在,没有写入我的日志”,并且 导出。如果不存在,则将今天的数据从/var/log/secure 写入您的 “mylog-月-日-时”文件。示例(2 月 4 日下午 2 点)输出: mylog-02-04-14
我只需要脚本语法部分的帮助。
谢谢 - 我希望任何网站也能在 BASH 中提供帮助。
最佳答案
- 从/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>
关于linux - BASH 中的基本 Shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15058261/