一些实际的工作
在这一课中,我们会开发一些我们的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
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>"
}
转载于:https://blog.51cto.com/linuxlearner/181210