zoukankan      html  css  js  c++  java
  • Bash脚本编程基础

    为实现某个任务,将许多命令组合后,写入一个可执行的文本文件的方法,称为Shell脚本编程。

    按照应用的Shell环境不同,可以将Shell脚本分为多种类型。其中最常见的是应用于Bash和Tcsh的脚本,通常将其称为Bash和Tcsh脚本。同Tcsh脚本相比,Bash脚本在Linux中的应用相对较广。

    一、Shell脚本的基本内容

    Shell脚本其实就是一个文本文件,因此建立新的脚本文件时,可以使用Vi、Emacs、Nano等文本编辑器。

    提示:Shell脚本同Linux系统中的其他文件一样,可以不使用扩展名。但为了方便识别,通常建议Bash脚本文件名以sh结尾,Tcsh脚本文件以csh结尾。

    例如:

    [root@localhost shell]# cat hello.sh
    #!/bin/bash
    #This is a test script.
    #This script will output Hello.
    #2013/12/15
    
    echo "Hello!"

    1、调用Shell

    本例中第1行内容是:

    #!/bin/bash

    这一行的内容用于告诉系统应该使用何种Shell来执行这个脚本,或者可以说是使用哪种Shell来解释执行这个脚本中的内容。

    注意:调用Bash语句也可以写为#!/bin/bsh,并且调用Shell的语句只能出现在脚本文件的第1行。

    2、脚本注释

    #This is a test script.
    #This script will output Hello.
    #2013/12/15

    除第1行以外,脚本中所有以“#”开头的行都是注释。注释的主要作用是为了方便阅读和维护脚本,实际执行时系统会忽略注释。

    【注释的内容】

    功能。

    创建时间和修改时间。

    重要语句块、复杂结构的作用。

    原创作者、修改作者。

    3、脚本内容

    echo "Hello!"

    脚本内容是实现脚本的一组命令的集合,由一个或多个命令组成。在较为复杂的脚本中,又将脚本内容划分为定义部分和主题部分。

    定义部分主要用于定义脚本捕获的系统信号、使用的变量、函数和文件等。

    主体部分主要用于调用定义部分中的变量、函数,以实现脚本的功能。

    【写脚本内容时的注意事项】

    为了便于阅读,每一行只书写一个命令。

    如果在一行写多个命令,需要用分号“;“分隔,但通常不推荐。

    在设计脚本内容时,应该将多个实现某一特定功能的命令写成一个功能模块或函数。

    对于一些特殊的语句(例如流控制语句等),应该使用特殊的缩进格式以便于阅读。

    一个合格的脚本文件,应该同时使用Shell调用、脚本注释、及脚本内容语句。为了使脚本可读性更高、通常应该在Shell调用、脚本注释、脚本内容语句、功能模块和函数之间使用空行分隔。

    二、脚本的运行方式

    1、使用bash命令执行脚本

    [root@localhost shell]# bash hello.sh
    Hello!

    2、使用点号“.”执行脚本

    这种执行脚本的方式通常用于调用系统脚本文件。

    [root@localhost shell]# . hello.sh
    Hello!

    注意:使用bash命令和点号执行脚本时,可以省略脚本文件中的Shell调用语句。但如果脚本不是系统脚本文件时,通常不建议这样做。

    3、设置脚本为可执行

    [root@localhost shell]# chmod u+x hello.sh
    [root@localhost shell]# ./hello.sh
    Hello!

    三、接收用户输入

    [root@localhost shell]# cat accept_input.sh 
    #!/bin/bash
    
    #This is a sample script file.
    #Accept user input for demonstartion.
    #2013/12/15
    
    echo -n "Input your name:"
    read NAME
    echo "Hello,$NAME."

    四、向脚本传递参数

    为了捕获向脚本传递的参数,可以使用系统定义的位置变量。位置变量是一类比较特殊的变量,引用脚本参数时,可以使用$1到$9这9个变量。

    [root@localhost shell]# ./get_para.sh one two three four
    The first parameter:one
    The second parameter:two
    The third parameter:three
    The fourth parameter:four
    ......
  • 相关阅读:
    批处理读取INI文件
    重装操作系统的20条原则
    SATA串口硬盘Windows Vista系统驱动安装实录
    中国国家地理高清晰的PDF书籍系列经典珍藏版
    单一职责原则
    理解boost::bind的实参传递方式
    理解C++ dynamic_cast
    C# vs C++之三:静态构造函数
    TDD可以驱动设计吗?
    依赖注入与对象间关系
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3475407.html
Copyright © 2011-2022 走看看