zoukankan      html  css  js  c++  java
  • shell基础之二 bash特性详解

    https://blog.51cto.com/13520779/2093146

    合格linux运维人员必会的30道shell编程面试题及讲解:https://blog.51cto.com/oldboy/1632876

    MySQL数据库多种安装方法及企业级安装实践:https://blog.51cto.com/oldboy/1917295

    625某电商网站数据库宕机故障解决实录:https://blog.51cto.com/oldboy/1431161

    bash 及其特性 : shell :外壳

    GUI :Gnome , RDE , Xfce

    CLI :sh、csh、ksh、bash

    程序 :进程

    进程 :在每个进程看来,当前主机上只存在内核和当前进程 允许用户一个账号登入多次,每一个打开的shell都各不相关 进程是程序的副本 ,进程是程序执行的实例 用户工作环境 shell , 里面存在子shell 彼此间的家不是同一个家

    1、命令行编辑

    crtl +a :跳到命令行首 相当于Home

    ctrl +e : 跳到命令行尾 相当于End

    ctrl+ u:删除光标至命令行首的内容

    ctrl+k : 删除光标至命令行尾的内容

    ctrl + l:清屏 相当于clear命令

    Ctrl + c :终止命令

    Ctrl + s :锁定屏幕

    Ctrl + q :解锁


    一、一些编程的基础概念

    1.程序=指令+数据
    2.程序的编程风格:

    • 过程式:以指令为中心,数据服务于指令
    • 对象式:以数据为中心,指令服务于数据

    3.编程语言:

    • 低级:汇编
    • 高级:
      • 编译:高级语言-->编译器-->目标代码(英文演讲,事先把中文演说稿翻译为英文的)
        java,C#
      • 解释:高级语言-->解释器-->机器代码(英文演讲,一遍讲英文,另一个人翻译)
        shell, perl, python

    4.编程逻辑处理方式:

    • 顺序执行
    • 循环执行
    • 选择执行

    5.shell编程:过程式、解释执行
    编程语言的基本结构:

    • 各种系统命令的组合
    • 数据存储:变量、数组
    • 表达式: a + b
    • 语句:if

    6.shell脚本的用途有:

    • 自动化常用命令
    • 执行系统管理和故障排除
    • 创建简单的应用程序
    • 处理文本或文件

    二、shell脚本的格式要求

    格式要求:首行shebang机制

    #!/bin/bash # 表示表示在执行脚本时内部会使用该路径的bash去执行。
    #!/usr/bin/python # 表示表示在执行脚本时内部会使用该路径的Python去执行。
    #!/usr/bin/perl

    2.1如何创建shell脚本

    第一步:

    • 第一行必须包括shell声明序列:#!
      #!/bin/bash
    • 添加注释
      注释以#开头

    第二步:运行脚本

    • 给予执行权限,在命令行上指定脚本的绝对或相对路径
    chmod +x abc.sh  # 给脚本添加执行权限
    ./abc.sh   #执行当前目录(相对路径)
    或者
    /tmp/abc.sh  #绝对路径方式

    注意:给予执行权限后,直接在命令行输入脚本命令也不会像cd、cat等命令直接执行,因为该shell脚本不在$PATH路径中,而hash是在$PATH寻找命令。因此要想直接输入命令就执行,需要将shell脚本放在$PATH路径下:

    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    • 直接运行解释器,将脚本作为解释器程序的参数运行
    bash  /data/hello.shcat /data/hello.sh | bash 

      变量:

        命名的内存空间

        数据存储方式:

          字符:

          数值:整型、浮点型

       变量:变量类型    

        作用:
            数据存储格式
            参与的运算
            表示的数据范围

    2.2脚本规范

    脚本代码开头约定:
    1、第一行一般为调用使用的语言
    2、程序名,避免更改文件名为无法找到正确的文件
    3、版本号
    4、更改后的时间
    5、作者相关信息
    6、该程序的作用,及注意事项
    7、最后是各版本的更新简要说明

    脚本的基本结构:
    #!SHEBANG
    CONFIGURATION_VARIABLES
    FUNCTION_DEFINITIONS
    MAIN_CODE

    示例:
    
    #!/bin/bash
    # ------------------------------------------
    # Filename: hello.sh
    # Revision: 1.1
    # Date: 2017/06/01
    # Author: wang
    # Email: wang@gmail.com
    # Website: www.magedu.com
    # Description: This is the first script
    # ------------------------------------------
    # Copyright: 2017 wang
    # License: GPL
    echo “hello world”

    三、脚本调试

    bash -n /path/to/some_script    # 检测脚本中的语法错误
    bash -x /path/to/some_script    # 调试执行

    注意:对于shell脚本中的命令行:
    ①如果是某个行的命令错误,那么其他的命令仍继续执行
    ②如果是语法错误,那么后续的命令直接终止执行
    所以,我们在写完脚本后,先执行上面两个命令进行调试!

     

  • 相关阅读:
    PHP 使用 ElasticSearch
    PHP面试题目
    MySQL取得某一范围随机数
    Git版本控制的基本命令
    PHP中array_merge和array相加的区别分析
    nginx服务器常见错误代码500、501、502、503、504、505
    Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
    前端基础 jQuery
    前端基础 DOM & BOM
    前端基础 & 初识JS(JavaScript)
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11213081.html
Copyright © 2011-2022 走看看