bat脚本交互输入_Shell脚本的应用(一)

会不会有那么一天,生活可以简单到每天清早踏上一辆载着鲜花的脚踏车,微笑着穿过窄窄的街巷,为爱花的人送去芬芳,为需要知识的你送去帮助。

简介

        随着Linux系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要。在Linux服务器的自动化维护工作中,除了计划任务的设置以外,Shell脚本的应用也是非常重要的一部分。

        本章将主要学习Shell脚本基础,变量使用等知识,要求学会编写简单的脚本。

本章重点

  • Shell变量的应用

  • Shel脚本的编写和执行

                                            理论讲解

一,Shell脚本基础

        在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不仅费时费力,而且容易出错。

        而编写一个恰到好处的Shell脚本程序,可以批量处理,自动化地完成一系列维护任务,大大减轻管理员的负担。

1.编制第一个Shell脚本

        Linux系统中的Shell脚本是一个特殊的应用程序,它介于操作系统内核与用户之间,充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,将需要执行的操作传递给内核执行,并输出执行结果。

常见的Shell 解释器程序有很多种,使用不同的Shell 脚本时,其内部指令、命令行提示等方面会存在一些区别.通过/etc/shells文件可以了解当前系统所支持的Shell脚本种类。

        其中,/bin/bash是目前大多数Linux版本采用的默认Shell脚本.Bash的全称为Bourne Again Shell.是受欢迎的开源软件项目之一。本课程中讲述的所有Shell操作均以Bash为例。

        那么,什么是“Shell脚本”呢?简单地说,只要将平时使用的各种Linux命令按顺序保存到一个文本文件中,然后添加可执行权限,这个文件就成为一个Shell脚本了。例如,执行以下操作可以创建第一个脚本文件:helloShell.sh。

        当然,一个合格的Shell脚本程序应该遵循标准的脚本结构,而且能够输出友好的提示信息,更加容易读懂.对于代码较多,结构复杂的脚本,应添加必要的注释文字,标准化的helloShell.sh脚本内容如下所示。

ea4bec3935922204a3197a7afad379bc.png

helloShell.sh脚本内容

f4fb490eb818fdea082355bdf957cbf5.png

执行helloShell.sh脚本内容

356b562d08c5c2d7ee4f49c5ac7ad72a.png

        上述helloShell.sh脚本文件中,包括三条命令:cd/etc/、pwd、Is。执行此脚本文件后。

        输出结果与依次单独执行这三条命令是相同的,从而实现了“批量处理”的自动化过程。

上述helloShell.sh脚本文件中

        第一行#!/bin/bash 是一行特殊的脚本声明,表示此行以后的语句通过/bin/bash程序来解释执行;

        第二行#大多用来解释当前脚本的作用以及功能

        第三行#写编写脚本工程师的联系方式,方便脚本故障后联系该工程师

        echo命令用于输出字符串,以使脚本的输出信息更容易读懂.

    1)执行脚本的方法

            sh helloShell.sh: 不需要添加执行权限来执行脚本,可以直接执行脚本,相当于/bin/sh来解释脚本。

            source helloShell.sh: 和/bin/sh一样,不需要添加执行权限,但是source和/bin/sh的区别是执行完指定脚本会进入该脚本的变量目录

               ./helloShell.sh:需要添加执行权限来解释脚本

        Linux系统中包括大量的Shell脚本文件,在学习Shell脚本的过程中可用来作为参考,但应尽量避免直接修改系统内的Shell脚本文件,以免导致服务或系统故障。

二,重定向与管道操作

        由于Shell 脚本“批量处理”的特殊性,其大部分操作过程以静默方式运行,不需要用户进行干预。因此学会提取、过滤执行信息变得十分重要。本小节主要介绍Shell环境中的两个I/O操作:重定向、管道。

1.重定向操作

        Linux系统使用文件来描述各种硬件,设备等资源,如以前学过的硬盘和分区,光盘等设备文件。

用户通过操作系统处理信息的过程中,包括以下几类交互设备文件。

标准输入(STDN):默认的设备是键盘,文件编号为0,命令将从标准输入文件中读取在执行过程中需要的输入数据。用“

标准输出(STDOUT):默认的设备是显示器,文件编号为1.命令将执行后的输出结果发送到标准输出文件。用“>”表示。

标准错误(STDERR):默认的设备是显示器,文件编号为2,命令将执行期间的各种错误信息发送到标准错误文件。用“2>”表示。

        标准输入标准输出标准错误默认使用键盘和显示器作为关联的设备,与操作系统进行交互,完成最基本的输入、输出操作,即从键盘接收用户输入的各种命令字串、辅助控制信息,并将命令结果输出到屏幕上;如果命令执行出错,也会将错误信息反馈到屏幕上。

        在实际的Linux系统维护中,可以改变输入、输出内容的方向,而不使用默认的标准输入、输出设备(键盘和显示器),这种操作称为重定向。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值