基本脚本编译

                                                                   基本脚本编译

  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

相关推荐

  • 1.初识linux

    1.计算机组成 计算机五大部件:运算器、控制器、存储器、输入设备、输出设备。对应实际情况大致如下: CPU CPU(Central Processing Unit)主要包含运算器、控制器;也包含寄存器、缓存用于辅助: CPU在同一时间能并行处理的二进制数的位数称为CPU字长。字长由CPU对外数据通路的数据总线条数决定。 运算器 运算器也称…

    Linux干货 2016-08-22
  • 马哥教育网络班21期-第六周课程练习

    请详细总结vim编辑器的使用并完成以下练习题 1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行首的空白字符; 3、删除/tmp/rc.sysinit文件…

    Linux干货 2016-08-05
  • cp复制软链接失效的原因

    在学习cp命令时我们会知道复制软链接时,如果要保留链接文件使用-d,但当我们实际操作时却常常出现如下情况 [root@localhost ~]# ls -l /etc/redhat-release     #此文件为链接文件 lrwxrwxrwx. …

    Linux干货 2016-10-25
  • 总考十分的学习宣言

    目标:按照学习线路图完成所有视频的学习,完成每一次的博客作业及云学堂考试,成功转型互联网运维。 宣言:我一定要转型互联网运维工程师,并在这个领域不断坚持耕耘下去,成为行业的专家,拿高薪,挣so much money,可以有钱去看看世界,去台湾环岛,去日本爬天空树,去北欧看极光,去南极看企鹅,去看盐湖和大象,去非洲看动物迁徙。一生的时间是有限的,在有限的时间里…

    Linux干货 2016-10-24
  • linux 基础命令(四)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其他用户均没有任何访问权限。 [root@localhost home]# cp -r /etc/skel/ /home/tuser1 [root@localhost home]# c…

    Linux干货 2016-10-16
  • HAProxy服务配置

    HAProxy 是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件。 相较与 Nginx,HAProxy 更专注与反向代理,因此它可以支持更多的选项,更精细的控制,更多的健康状态检测机制和负载均衡算法。 四层和七层负载均衡的区别: 四层: 通过分析IP层及TCP/UDP层的流量实现的基于“IP+端口”的负载均衡。 七层: …

    Linux干货 2017-05-19