Shell编程实例:入门与Apache服务器管理脚本

需积分: 7 0 下载量 158 浏览量 更新于2024-09-10 收藏 40KB DOC 举报
在本文档中,我们探讨了两个具体的shell编程实例,旨在帮助初学者理解和掌握shell脚本的基础知识。第一个实例是关于检查文件类型并将其复制到特定目录的简单操作。通过这个程序,用户会被提示输入文件名,然后shell会使用`-c`选项来判断文件是否存在,如果文件是字符设备文件,则将其拷贝到`/dev`目录。 ```bash #!/bin/sh FILENAME= echo "Input filename:" read FILENAME if [-c "$FILENAME"] then cp $FILENAME /dev fi ``` 这个程序的功能是让用户输入文件名,然后通过`if`语句检查文件类型。如果文件是字符设备文件,它将文件复制到`/dev`,以便系统能正确识别和管理这些设备。 第二个实例是一个Linux系统脚本,用于控制Apache web服务器的启动、停止和重启。该脚本位于`/etc/rc.d/rc.httpd`,具有执行权限。`case`结构根据传递给脚本的第一个位置参数($1)决定执行的操作,如启动(`start`)、停止(`stop`)或重启(`restart`)。 ```bash #!/bin/sh # ... case "$1" in 'start') /usr/sbin/apachectl start ;; 'stop') /usr/sbin/apachectl stop ;; 'restart') /usr/sbin/apachectl restart ;; *) echo "usage $0 start|stop|restart" ;; esac ``` 为了使Apache在系统启动时自动运行,你需要确保`/etc/rc.d/rc.httpd`文件具有执行权限,即`chmod 755 /etc/rc.d/rc.httpd`。运行此脚本的方法是在终端中输入`sudo ./rc.httpd {start|stop|restart}`,其中括号内的字符串代表要执行的操作。 这两个例子展示了如何使用基础的shell命令(如条件判断`if`和`case`)、文件操作(如`cp`)以及处理系统服务的管理。它们不仅有助于初学者了解shell编程的基本语法,还展示了在实际环境中如何编写和执行脚本来管理和维护系统服务。