2.3 一个简单的脚本
Posted Avention
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.3 一个简单的脚本相关的知识,希望对你有一定的参考价值。
让我们从简单的脚本开始。假设你行知道,现在系统上有多少人登录。who命令可以告诉你现在系统有谁登录:
[[email protected] Desktop]$ who
many :0 2018-09-16 21:58 (:0)
many pts/0 2018-09-16 21:58 (:0)
在大型的、多用户的系统上,所列出来的列表可能很长,在你能够计算用户个数之前,列表早已滚动出屏幕画面,因此每次做这件事的时候,都会让你觉得很麻烦。这正是进行自动化的好时机。计算用户总数的方法尚未提到。对此,我们可以利用 wc 程序,它可以算出行数(line)、字数(word)与字符数(character)。在此例中,我么用的是 wc -l ,也就是只算出行数:
[[email protected] Desktop]$ who | wc -l
2
|(管道)符号可以在两程序之间建立管道(pipeline):who的输出,成了 wc 的输入,wc 所列出的结果就是已登录用户的个数。
下一步则是将此管道转变成一个独立的命令。方法是把这条命令输入一个一般的文件中,然后使用chmod为该文件设置执行的权限,如下所示:
[[email protected] my_sh]$ cat > nusers 建立文件,使用cat复制终端的输入
echo "开始统计用户数..." 程序的内容
who | wc -l
echo "统计用户数结束..."
^D Ctrl + D
[[email protected] my_sh]$ chmod u+x nusers 让文件拥有执行的权限
[[email protected] my_sh]$ ./nusers 执行测试
开始统计用户数... 输出我们要的结果
2
统计用户数结束...
这展现了小型Shell脚本的典型开发周期:首先,直接在命令行(command line)上测试。然后,一旦找到能够完成工作的适当语法,再将它们放进一个独立的脚本里,并为该脚本设置执行的权限。之后,就能直接使用该脚本。
以上是关于2.3 一个简单的脚本的主要内容,如果未能解决你的问题,请参考以下文章
makefile简单脚本编写和Linux调试器gdb的简单应用
编译原理-第二章 一个简单的语法指导编译器-2.3 语法定义