9.9. 练习

记住:在编写脚本时,分步骤进行,并在将每个步骤合并到脚本中之前进行测试。

  1. 创建一个脚本,该脚本将(递归地)复制以下文件中的文件:/etc以便初级系统管理员可以无所顾虑地编辑文件。

  2. 编写一个脚本,该脚本只接受一个参数,即目录名。如果参数数量多于或少于一个,则打印用法消息。如果参数不是目录,则打印另一条消息。对于给定的目录,打印五个最大的文件和五个最近修改的文件。

  3. 你能解释一下为什么在9.4.2 节的示例中,将变量放在双引号之间如此重要吗?

  4. 编写一个类似于9.5.1 节中的脚本,但考虑一种在用户执行 3 个循环后退出的方法。

  5. 9.5.3 节中的脚本考虑一个比move -b更好的解决方案,以防止覆盖现有文件。例如,测试文件是否存在。不要做不必要的工作!

  6. 重写whichdaemon.sh来自7.2.4 节的脚本,使其

    • 打印要检查的服务器列表,例如 Apache、SSH 服务器、NTP 守护程序、名称守护程序、电源管理守护程序等等。

    • 对于用户可以做的每个选择,打印一些有意义的信息,例如 Web 服务器的名称、NTP 跟踪信息等等。

    • 可选地,构建用户检查除列出的服务器之外的其他服务器的可能性。对于这种情况,请检查至少给定的进程正在运行。

    • 回顾9.2.2.4 节中的脚本。注意如何处理除 q 之外的字符输入。重建此脚本,以便在输入字符时打印消息。