基本脚本编译

                                                                   基本脚本编译

  1.使用多条命令

             我们知道,想要将两条命令一起运行,可以讲它们输入到同一提示行中,并用分号将它们隔开  

                       基本脚本编译

                那么祝贺,您刚才就已经编写了一个SHELL脚本,这个简单的脚本仅使用了两个bash shell命令。Date首先运行显示时间日期,然后who命令显示当前登陆到该系统的用户

                虽然该技术适用于小教本,但是它有一个主要缺点,即每次想要运行命令时,都必须在命令提示符输入整条命令。相对于命令行手动输入,我们可以将命令合并到一个简单的文本文件中。需要运行命令时,只需要运行文本文件即可

2.创建脚本文件

            要将shell命令放置到一个文本文件中,首先需要使用文本编辑器(vim)创建一个文件,然后将命令输入到该文件中

            创建shell脚本文件时,必须必须在文件的第一行指明所使用的shell

     基本脚本编译

    在普通的shell脚本中,#符号用作注释行。Shell并不会处理脚本中的注释行。但是第一行是特例,当#后跟上!时是告诉shell运行下列脚本的shell

    指明shell以后,将命令输入到文件中的每一行,添加注释,如

       基本脚本编译

     这就是脚本的所有内容了,如果想一起运行,可以讲它们放在同一行用;隔开

接着保存该脚本为test1文件,就几乎好了。为什么说“几乎”是因为在运行前还有几件事要做

        如果你现在试图运行该文件,那么会失望的看到如下内容:

            基本脚本编译

        第一个障碍就是要让bash shell 找到你的脚本文件,那么我们看一下环境变量的问题所在

                基本脚本编译

         PATH环境变量设置为只可以再少数目录中查找命令,要是shell找到test1脚本则需要在命令行提示符中使用文件的绝对或相对路径来引用该shell脚本

                     提示 :也可以选择将shell脚本文件中所在的目录添加到PATH环境变量中

         当指定路径后,shell便能够轻松找到文件,,但shell指出我没有执行该文件的权限,即:

         基本脚本编译

         所以需要我们手动给创建的文件添加权限,使用chmod命令

          基本脚本编译

          然后现在运行该脚本

            基本脚本编译

             执行成功,现在具备所有的条件,就可以执行性这个新shell脚本文件了

3.显示消息

             大多数shell命令生成自己的输出,这些输出在运行脚本的控制台监视器上显示。有时候想添加自己的文本信息以帮助脚本呢用户了解脚本中发生了什么。使用echo 命令可以完成这个目标,在echo命令后添加字符串,echo 命令就能显示一个简单的文本字符串:

               基本脚本编译

            需要注意的是,默认情况下不需要使用引号来标记想要显示的字符串。但如果字符串中使用了引号,有事会出现问题,如

             基本脚本编译

           Echo 命令既可以用双引号也可以用单引号来标记文本字符串,如果要在字符串中使用它们,需要在文本使用一种引号类型,然后用另一种类型标记字符串

           基本脚本编译

         现在所有的引号都正确地显示在输出结果中

         而在shell脚本中需要显示额外信息的任何位置都可以添加echo语句:

         基本脚本编译

          运行脚本,产生输出结果:

            基本脚本编译

            如果想使echo 文本字符串在同一行,只需要对echo 语句使用 –n 参数即可,现在我们改一下第一个echo语句

             基本脚本编译

         需要用引号包围字符串,同时确保字符串末尾有个空格。命令的输出正好从字符串暑促停止的位置开始,输出结果如下:

              基本脚本编译

        要记住的是,echo命令是与用户交互的shell脚本的关键部分,很多情况下都会使用它

原创文章,作者:XnlZ,如若转载,请注明出处:http://www.178linux.com/83909

(0)
XnlZXnlZ
上一篇 2017-08-05
下一篇 2017-08-05

相关推荐

  • 第三周作业

      1. 列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@localhost ~]# who | cut -d' ' -f1 | sort -u root 2. 取出最后登录到当前系统的用户的相关信息。 [root@localhost ~]# who | tail -1 roo…

    Linux干货 2016-12-26
  • 网络配置——命令家族

    Linux网络属性配置命令: ifcfg家族:ifconfig,route,netstat ifconfig命令:接口及地址查看和管理          ·ifconfig [INTERFACE]       &nbsp…

    Linux干货 2016-09-07
  • 马哥教育21期网络班—第11周课程+练习—-成长进行时–不退步–上

    1、详细描述一次加密通讯的过程,结合图示最佳。 对称加密: 加密和解密使用同一个密钥; 缺点:如何通信方多的话,需要保存多组密钥 公钥加密:密钥是成对儿出现 公钥:公开给所有人;pubkey 私钥:自己留存,必须保证其私密性;secret key 特点:用公钥加密的数据,只能使用与之配对儿的私钥解密;反之亦然; 数字签名:主要在于让接收方确认发送方…

    Linux干货 2016-09-19
  • 系统日志和loganalyzer

    作为运维人员,熟悉系统日志是一项基本功。本文将介绍centos6的系统日志rsyslog及loganalyzer工具。 简介 系统日志:记录历史事件,通常都是按时间顺序将发生的事件予以记录,linux上的日志分为syslogd(系统进程相关日志)和klogd(内核事件日志) centos5:syslog    缺点:不能进行并行数据存储,…

    Linux干货 2016-03-20
  • 马哥教育网络班22期+第3周课程练习 忍者乱太郎喻成

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。  who|awk '{print $1}'|uniq 2、取出最后登录到当前系统的用户的相关信息。 题目不是很清晰我估计是题目想要的是 last -1   cat /etc/pa…

    Linux干货 2016-09-06
  • sed讲解与使用

            sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理…

    Linux干货 2016-08-15