zoukankan      html  css  js  c++  java
  • Linux系统最重要的工具——Shell学习笔记

    一、为什么学习Shell脚本语言

    1.Shell脚本语言是实现Linux/UNIX系统管理及自动化运维必备的重要工具,Linux/UNIX系统底层及
    基础应用软件的核心大都涉及Shell脚本的内容。

    2.每一个合格的运维工程师都需要熟练编写Shell脚本语言,并能够阅读系统及各类软件附带的Shell
    脚本内容。只有这样才能提升运维人员的工作效率,适应日益复杂的工作环境,减少不必要的重复工作
    ,从而为个人的职场发展奠定较好的基础。

    二、流程控制

    过程式编程语言:
    顺序执行
    选择执行
    循环执行

    三、Shell实战

    1.脚本就是命令的堆叠

    2.条件选择if语句

    1)单分支
    if 判断条件;then
    条件为真的分支代码
    fi

    2)双分支
    if 判断条件;then
    条件为真的分支代码
    else
    条件为假的分支代码
    fi

    3)多分支
    if 判断条件;then
    条件为真的分支代码
    elif 判断条件;then
    条件为真的分支代码
    else
    条件为假的分支代码
    fi

    3.递归运算
    例:阶乘
    1)定义函数
    fact(){
    if[ $n -eq 0 -o $ -eq 1 ];then
    echo 1
    else
    echo $[n*(fact (n-1))]
    fi
    }
    2)调用函数
    fact $n
    3)保存运行测试

    4.echo $?
    ? 判断命令执行是否成功,执行成功返回0,执行失败返回非空值,127表示指令未找到。

    例题:ping -cl www.baidu.com && echo "www.baidu.com is up" || echo "www.baidu.com is down"

    5.编译型语言和解释型语言的执行方式对比
    #!官方称为shebang 用于定义该文件由哪个解释器来执行


    程序设计语言分为编译型和解释型两种,C、Java等是编译型语言,shell和python为解释型语言。

    编译型语言编写的程序执行效率比解释型语言的执行效率要高,编译型语言提前编排了程序逻辑,
    C编译后将代码转换成了汇编语言。而Java将代码转化为了字节码,能被JAVA虚拟机读取。
    而解释型语言如Shell只有在执行的时候才去考虑如何执行命令
    python比较特殊,有两种执行方式,即可以解释执行也可以编译执行(可被python虚拟机读取)。

    (未完,持续更新)

    stay hungry,stay foolish 我最喜欢的翻译是 “长进取,永执着” 永远渴望创新,才是人类进步的驱动力
  • 相关阅读:
    1451. Rearrange Words in a Sentence
    1450. Number of Students Doing Homework at a Given Time
    1452. People Whose List of Favorite Companies Is Not a Subset of Another List
    1447. Simplified Fractions
    1446. Consecutive Characters
    1448. Count Good Nodes in Binary Tree
    709. To Lower Case
    211. Add and Search Word
    918. Maximum Sum Circular Subarray
    lua 时间戳和时间互转
  • 原文地址:https://www.cnblogs.com/ayu305/p/Shell_learn.html
Copyright © 2011-2022 走看看