zoukankan      html  css  js  c++  java
  • shell(上)

    一.shell是什么?

    shell :在计算机科学中,shell就是一个命令解释器。shell是位于操作系统和应用程序之间,shell负责把应用程序的输入命令信息解释给操作系统,将操作系统处理后的结果解释给应用程序。

    一句话总结:shell就是操作系统和应用程序之间的一个命令翻译工具

    二.shell的分类

    基本上shell分两大类,图形界面shell和命令行shell

    图形界面shell就是我们常用的桌面

    命令行shell:

    windows系统:   cmd 命令提示符

    linux: sh/csh/ksh/bash

    三. 查看系统shell信息

    查看当前系统的shell信息

    echo $SHELL

    查看当前系统环境支持的shell

    cat /etc/shells

    四.shell脚本

    shell脚本定义:当可执行的linux命令或语句写在一个文件中,并通过文件执行时,这个文件就是shell脚本

    五.shell的优势和劣势

    优势: 1.存在时间长,拥有较多积累 2.编写简单 3.对环境依赖小

    劣势:1.无法实现复杂功能2.不支持面向对象

    脚本是可执行命令的组合   shell脚本 是shell命令组合在一个可执行文件里

    六.创建脚本

    1)vi/vim创建 脚本

    2)shell脚本的命名要有意义,方便通过脚本名知道是干什么的

    3)脚本内容  首行指定解释器: #!/bin/bash    命令罗列和语法套用

    4)单行注释:  除了首行的#不是注释外 其他行的内容 只要首个字符是# 那就表示是注释

    多行注释:

    方法一:

    
    
    :<<!
    注释内容...
    注释内容...
    注释内容...
    !

    方法二:

    :<<'
    注释内容...
    注释内容...
    注释内容...
    '

    方法三:

    :<<EOF
    注释内容...
    注释内容...
    注释内容...
    EOF

    七.脚本执行

    shell执行方式

    bash /path/to/script-name 或 /bin/bash /path/to/script-name               强烈推荐
    /path/to/script-name 或 ./script-name                                   当前路径下执行脚本
    source script-name 或 .script-name

    八.脚本开发规范

    1.脚本命名要有意义 见名知义 以.sh结尾

    2.脚本文件首行是而且必须是脚本解释器

    #!/bin/bash

    3.脚本解释器后面要有脚本的基本信息等内容

    4.脚本中尽量不要用中文注释 防止出现乱码

    5.脚本常见执行方式 bash 脚本文件

    6.脚本内容执行  从上到下 依次执行

    7.缩进 使代码易读

    8.成对内容一次性写

     九. shell变量定义

    1.普通变量

    (1)变量名=变量值  变量名和等号之间不能有空格

    (2)变量名='变量值'  不解析变量名的内容

    (3)变量名="变量值"  先解析变量值内容 再赋值

    2 命令变量

    (1)变量名=`命令`  注意 `是反引号

    (2)变量名=$(命令)

    3 变量访问

    (1)$变量名

    (2)"$变量名"

    (3)${变量名}

     (4)标准使用方式"${变量名}"

       删除变量 unset  variable_name

    十 shell数组

    #!/bin/bash
    fruits=(apple banana pear orange) echo ${fruits[0]}
    echo ${fruits[@]}
    echo ${#fruits[*]}
     

    读取数组

    读取数组元素值的一般格式是:

    ${array_name[index]}

    获取数组中的所有元素

    使用@ 或 * 可以获取数组中的所有元素

    Shell 传递参数

    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n$0 为执行的文件名(包含文件路径),n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……

  • 相关阅读:
    Freemarker
    加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
    Jenkins入门
    kafka实战
    多线程文件下载
    Excel操作报表
    @Pointcut 使用@annotation 带参数
    博客园设置
    Windows下 tensorboard显示No graph definition files were found的问题解决
    通过GitHub Desktop 上传代码到github 远程仓库
  • 原文地址:https://www.cnblogs.com/peteremperor/p/13821962.html
Copyright © 2011-2022 走看看