linux - BASH 中的基本 Shell 脚本

标签 linux bash

我正在学习 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/

相关文章:

c - 系统命令的打开和输出

linux - 访问文件的权限问题

bash - Ansible 1.9.1 'become' 和 sudo 问题

linux - 行之间的差异 - awk - linux 脚本

android - 更改 root android 设备的 CPU 调速器

c++ - 使用 Linux C 代码和头文件编译 Windows DLL

获取文件系统信息的 Linux API

python - 如何在 bash 脚本中使用访问 token 下载私有(private) Soundcloud 轨道

linux - 在 shell 脚本中转义单引号

bash - 如何执行 bash shell 函数