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的简单应用

Shell脚本--变量(后附简单shell脚本案例)!

编译原理-第二章 一个简单的语法指导编译器-2.3 语法定义

Mac上实现一个简单的shell脚本

Spring4 Quartz2 动态任务,Spring4整合quartz2.2.3简单动态任务

一个简单的shell脚本