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脚本中的命令行:
    ①如果是某个行的命令错误,那么其他的命令仍继续执行
    ②如果是语法错误,那么后续的命令直接终止执行
    所以,我们在写完脚本后,先执行上面两个命令进行调试!

     

  • 相关阅读:
    算法训练 表达式计算
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    基础练习 十六进制转十进制
    New ways to verify that Multipath TCP works through your network
    TCP的拥塞控制 (Tahoe Reno NewReno SACK)
    Multipath TCP Port for Android 4.1.2
    How to enable ping response in windows 7?
    NS3
    Multipath TCP Port for Android
  • 原文地址:https://www.cnblogs.com/liuzhiyun/p/11213081.html
Copyright © 2011-2022 走看看