node.js aircrack-ng numpy nginx反向代理 SCI postgresql debugging canvas woocommerce view module lazyloadjs Font Awesome 后台界面模板 jquery获取元素 collection框架的结构 mysql分页查询sql语句 hadoop组件 matlab读入图片 python创建对象 python字符串匹配 python的lambda函数 java9 java多态 java开发环境搭建 java数组 java创建文件夹 php网络编程 信息系统项目管理师教程 linux操作系统原理 volist workflow中文 php取整函数 神剪辑教程 手机知识 maya2016教程 一键隐藏 华为手机刷公交卡 hyqihei 电脑待机费电吗
当前位置: 首页 > 学习教程  > 编程语言

Shall:基础 常用 命令

2020/10/8 18:38:49 文章标签:

Shell编程Shell 脚本的解释器脚本的编写规范执行脚本的三种方式变量的声明变量的引用字符串使用字符串长度及截取脚本参数传递算数运算符流程控制if*关系运算符循环跳出循环case ()接收控制台数据函数的使用函数调用数组数组的使用文件加载Shell 脚本的解释器 /bin/sh/bin/bas…

Shell编程

        • Shell 脚本的解释器
        • 脚本的编写规范
        • 执行脚本的三种方式
        • 变量的声明
        • 变量的引用
        • 字符串使用
        • 字符串长度及截取
        • 脚本参数传递
        • 算数运算符
        • 流程控制if*
        • 关系运算符
        • 循环
        • 跳出循环
        • case ()
        • 接收控制台数据
        • 函数的使用
        • 函数调用
        • 数组
        • 数组的使用
        • 文件加载

Shell 脚本的解释器

  • /bin/sh
  • /bin/bash
  • /sbin/nologin
  • /bin/dash
  • /bin/tcsh
  • /bin/csh

脚本的编写规范

  • 首行描述解释器 #!/bin/bash

执行脚本的三种方式

  • bash 脚本名称 脚本参数
  • sh 脚本名称 脚本参数
  • /脚本名称 脚本参数【./脚本名称之间没有空格】【chmod 777 脚本名称】

变量的声明

  • 变量名=”值”【中间不能有空格】
  • 变量名要求 字母或下划线或数字(开头不能是数字)构成

变量的引用

  • 使用$ 或 ${}引用变量
  • 删除变量 只读变量
  • 删除 unset 变量名
  • 只读 readonly 变量名

字符串使用

  • 双引号(””):内部可以使用变量
  • 单引号(‘’):内部所有的原样输出
  • 反引号(``):表示可执行

字符串长度及截取

  • 长度: echo ${#skill}
  • 截取: echo ${str:2:2} 【在第二个字符开始截取截取两位】

脚本参数传递

  • bash 脚本名 参数1 参数2 参数3 。。。。。。
  • 脚本内
  • $0 脚本名称
  • $1 参数1
  • $2 参数2
  • $n 参数n
  • $* 所有参数
  • $# 参数的个数

算数运算符

  • 加法计算 expr 2 + 2
  • 乘法计算 expr 2 \* 2

流程控制if*

  • if [ $a -gt 10 ];then
    代码1
    elif [ $a -lt 10 ];then
    代码2
    else
    代码3
    fi

关系运算符

  • 大于:-gt
  • 小于:-lt
  • 大于等于:-ge
  • 小于等于 :-le
  • 小于:-eq
  • 不等于 :-ne

循环

  • For 循环:
    For aa in XXXX
    do
    循环体
    done
  • While循环:
    While 条件 ;
    do
    循环体
    done

跳出循环

  • 跳出所有循环:break
  • 跳出当前循环,进入下一次循环:continue

case ()

  • case 值 in
    结果1)
    结果1对应的操作;;
    结果2)
    结果2对应的操作;;
    结果3)
    结果3对应的操作;;
    esac

接收控制台数据

  • read 变量名

函数的使用

  • 函数声明:
    [function] 函数名(){
    函数体
    $参数1
    $参数2
    $参数3
    }

函数调用

  • 函数名 参数1 参数2 参数3

数组

  • 数组声明: 数组名称=(元素1 元素2 元素3 元素4)

数组的使用

  • 单个使用 echo 数组名[角标] 【角标从0开始】
  • 遍历数组
    for var in ${my_arr[*]}
    do
    echo $var
    done

文件加载

  • 在文件中添加 . 脚本名称 或者 source 脚本名称
    #!/bin/bash
  • source ./test1.sh :加载test1.sh 的文件内容

本文链接: http://www.dtmao.cc/news_show_250075.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?