一些实际的工作

在这一课中,我们会开发一些我们的shell 函数然后让我们的脚本产生一些有用的信息。
Show_uptime
函数show_uptime 会显示uptime 命令的输出。命令uptime 输出一些关于系统的有趣的事实,包括自从最后一次重启系统运行的时间的长度,用户的数量和最近系统的载入。
[me@linuxbox me]$ uptime
9:15pm up 2 days, 2:32, 2 users, load average: 0.00, 0.00, 0.00

要在HTML 页面中获得uptime 命令的输出,我们要像这样编shell 函数,用最终版本替代临时的粗体代码:
function show_uptime

{

    echo "<h2>System uptime</h2>"

    echo "<pre>"

    uptime

    echo "</pre>"

}

      
正如你能看到的,该函数输出了包含混合HTML 标签和命令输出的文本流。当替代发生在程序的主体部分,函数的输出变成脚本的一部分。
drive_space

函数drive_space 将使用df 命令来提供所有挂载文件系统所使用的空间。
[me@linuxbox me]$ df

Filesystem   1k-blocks      Used Available Use% Mounted on

/dev/hda2       50×××    225772    279080  45% /

/dev/hda1        23324      1796     21288   8% /boot

/dev/hda3     15739176   1748176  13832360  12% /home

/dev/hda5      3123888   3039584     52820  99% /usr

就该结果而言,函数drive_space 非常类似show_uptime 函数;
function drive_space

{

    echo "<h2>Filesystem space</h2>"

    echo "<pre>"

    df

    echo "</pre>"

}

      
home_space

函数home_space 将显示每个用户正在使用自己主目录的总共空间大小。它将以一个列表来显示,以空间使用大小的总计降序排列。
function home_space

{

    echo "<h2>Home directory space by user</h2>"

    echo "<pre>"

    echo "Bytes Directory"

    du -s /home/* | sort -nr

    echo "</pre>"

}

注意到该函数成功执行的次序,脚本必须用超级用户来运行,自从du 命令要求超级用户权限来检查/home 目录的内容。
System_info

我们还没有做好完成system_info 函数的准备。与此同时,我们将改善端代码(stubbing code) 让其产生合法HTML
function system_info

{

    echo "<h2>System release info</h2>"

    echo "<p>Function not yet implemented</p>"

}