基本脚本编译

                                                                   基本脚本编译

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

相关推荐

  • 数组知识与编译安装

    数组知识与编译安装 一数组知识 1、定义数组    声明数组: declare -a ARRAY_NAME declare -A ARRAY_NAME:  关联数组 数组元素的赋值: (1)  一次只赋值一个元素; ARRAY_NAME[INDEX]=VALUE weekdays[0]="Sunday&quo…

    Linux干货 2016-09-19
  • openssl基本应用

    导言: 我们知道在互联网上进行文件传输、电子邮件商务往来存在许多不安全因素,特别是对于一些大公司和一些机密文件在网络上传输,所以为了保证安全,我们必须给文件加密。今天,我们就来谈谈加密、解密、openssl的使用以及CA的实现过程。 数据的3大加密方式 对称加密 含义 指加密解密使用同一组密钥,是按数据分块以后进行加密的,前后数据块彼此之间有关联关系。 特性…

    Linux干货 2016-12-05
  • N21天天第十二周课程练习

    1、请描述一次完整的http请求处理过程; 1、建立TCP连接 2、Web浏览器向Web服务器发送请求 3、Web浏览器发送请求头信息   建立连接后,客户机发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME   信息包括请求修饰符、客户机信息和可能的内容 4、Web服务器应答…

    Linux干货 2016-10-31
  • 三剑客-sed小结

     sed是一款流编辑器工具,通常我们用来对文本进行过滤与替换操作,特别是当你想要对几十个配置文件做统一更改时,你会感受到sed的魅力。它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到…

    系统运维 2016-07-26
  • 软件包管理

    软件包管理 软件运行和编译 ABI:应用程序二进制接口;直接给编译好的二进制使用; windows与linux不兼容, windows: ELF linux: PE 库级别的虚拟化: linux:WINE windows:Cywin API:定义了和库之间的接口;编写应用程序时调用的函数之类的; 编译程序源代码(.c) –> 预编译(.i)…

    Linux干货 2017-04-21
  • 初入LINUX之首周总结及虚拟机的安装

    一.初入LINUX   1.在接触LINUX之前,先了解了计算机的系统组成: 2.服务器是计算机的一种,是网络中为客户端计算机提供各种服务的高性能的计算机,服务器在网络操作系统的控制下,将与其相连的硬盘磁带,打印机及昂贵的专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发布及数据管理等服务 。 3.服务器的三大操作系统:①w…

    2017-05-20