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 我最喜欢的翻译是 “长进取,永执着” 永远渴望创新,才是人类进步的驱动力
  • 相关阅读:
    在PHP语言中使用JSON
    PHP数组和Json之间的转换
    Mentohust 安装(win7环境)
    PHP采集网页图片并保存至本地
    php 操作数组 (合并,拆分,追加,查找,删除等)
    GitHub的使用
    【word】含章节号的题注编号以阿拉伯数字显示
    【转载】Mozilla5.0的含义
    同一服务器部署多个Tomcat时的端口号修改详情(同时启动两个Tomcat)
    Android Studio配置
  • 原文地址:https://www.cnblogs.com/ayu305/p/Shell_learn.html
Copyright © 2011-2022 走看看