基本脚本编译

                                                                   基本脚本编译

  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

相关推荐

  • shell脚本参数练习

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登陆shell(即用户的shell不是/sbin/nologin),分别这两类用户的个数;通过字符串比较来实现; !/bin/bash # login_user=0 nologin_user=0 for i in $(cat /etc/passwd | cut -d : -f 7);do if [ $…

    2017-09-17
  • N21沉舟13周作业

    1、建立samba共享,共享目录为/data,要求:(描述完整的过程)   1)共享名为shared,工作组为magedu;   2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;   3)添加s…

    Linux干货 2016-10-24
  • N25第四周 chmod chown以及 grep命令的常用示例

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

    Linux干货 2016-12-22
  • Linux系统网络属性管理之bond

    Bonding 就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC地址。 Bonding的工作模式 •Mode 0 (balance-rr) 轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口…

    Linux干货 2016-09-18
  • Linux 文件管理常用基本命令

    马哥教育网络班21期+第二周练习 目录管理 ls (list):列出目录及内容 ls [OPTION]… [FILE]…     -l:长格式显示文件的详细属性信息         -rwxr-xr-x.&nbs…

    Linux干货 2016-07-17
  • 【招聘】北京/互联网/运维工程师/7-15K/双休,五险一金

    岗位职责:   1、负责服务器的规划、调试优化、日常监控、故障处理、数据备份、日志分析等工作;   2、参与运维流程制定,确保任何突发情况都能高效响应;  3、负责服务器部署,对服务器构架和网络进行优化和改进;  4、负责运维相关数据的收集、分析和总结;  5、负责技术运维相关的文档、手册…

    Linux干货 2016-04-05