基本脚本编译

                                                                   基本脚本编译

  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 17:35
下一篇 2017-08-05 17:44

相关推荐

  • ntp时间服务器搭建实例

    ntp时间服务器采用stratum分级架构来处理时间同步;举例说明:你搭建了一台ntp服务器,然后同步的server为stratum-1,你的ntp则为stratum-2,你的下级ntp则为tratum-3。依此类推,最多为15层。 1.ntp server安装: [root@localhost ~]# yum -y …

    Linux干货 2015-11-10
  • tomcat

      编程语言:硬件级:微码编程,汇编语言系统级:C,C++,…应用级:Java, PHP, Python, Ruby, Perl, C#, …Python: PVMStandard LibraryWeb Framework:Django, Flask, …Java:JVM,JDKbash:bash ex…

    Linux干货 2017-05-22
  • LVS之nat&dr

    Evernote Export 负载均衡集群设计时的要点:        (1)session保持            session sticky(ip hash)            sess…

    Linux干货 2016-12-01
  • CentOS系统详解(启动流程、kickstart)&bash脚本编程之while/函数用法

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) 2、为运行于虚拟机上的CentOS 6添加一块新硬件,提供两个主分区; (1) 为硬盘新建两个主分区;并为其安装grub; (2) 为硬盘的第一个主分区提供内核和ramdisk文件; 为第二个分区提供rootfs; (3) 为rootfs提供bash、ls、cat程序及所依赖的库文件…

    Linux干货 2016-11-28
  • bash脚本编程练习:判断、循环

      1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i sumlogin=0 declare -i sumnologin=0 for&nbs…

    Linux干货 2016-11-22
  • 进程理论和相关工具的使用

    内核的功用 进程管理、文件系统、网络功能、内存管理、驱动程序、安全功能等     Process: 运行中的程序的一个副本,是被载入内存的一个指令集合 进程ID(Process ID,PID)号码被用来标记各个进程     UID、GID、和SELinux语境决定对文件…

    Linux干货 2017-08-28