zoukankan      html  css  js  c++  java
  • shell 基础

     

    1.开头:#!/bin/sh或#!/bin/bash 

    一 定义变量

    1.全局变量 局部变量
    在脚本或者直接在目录下调用的定义的变量是局部变量
    2.查看 变量 用echo 调用变量要用 $
    3.只读变量 readonly 删除变量 unset
    4.查看所有环境变量 env
    5.""    和   ‘’    的变量的区别在于  “” :  内可以识别变量 和转义字符

    二 变量的使用

    1.获取字符串的长度
    str=“abcd”
    echo ${#str}
    2.输出字符串或者提取
    echo $name
    echo ${name:1:3}
    1 代表从第一个开始截取 3 代表截取个数
    3.数组
    定义数组 name=(1111 2222 333)
    读取数组
    echo ${name[0]} 读取下标为0的
    echo ${name[@]} 读取所有
    echo ${#name[@]} 获取数组的长度


    三 运算符的使用


    1.+ - * / % = == !=
    expr 10 + 20
    echo $((10+20))
    let n++
    2.[]   和  [[]]  的区别 可以虚拟匹配
    if [[ $a =~ "x" ]]; then
    echo "包含"
    else
    echo "不包含"
    fi

    2.关系运算符
    man test 里面会有解释
    -eq 是否相等
    -ne 是否不相等
    -gt 大于
    -lt 小于
    -ge 大于等于
    -le 小于等于

    3. 布尔运算符
    -o or || 两者满足一种即可
    -a and && 两者都要满足


    四 传参

      echo '$1 is :'$1 # 输出$1 is: 可以直观的看到$1的值
      echo '$# is:'$# # 输出有多少个参数
      echo '$@ is:'$@ # 输出所有参数
      echo '$* is:'$* # 输出所有参数
      echo '$$ is:'$$ # 输出did
      echo '$? is:'$? # 查看上一条语句有没有成功

    $$ Shell本身的PID(ProcessID)
    $! Shell最后运行的后台Process的PID
    $? 最后运行的命令的结束代码(返回值)
    $- 使用Set命令设定的Flag一览
    $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。
    $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。
    $# 添加到Shell的参数个数
    $0 Shell本身的文件名
    $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…

    五 字符串运算符

    = :检测两个字符串是否相等
    != :检测两个字符串不相等
    -z : 是否为空
    -n : 字符串长度是否为 0

    文件测试运算符
    -b 检测文件是否为块设备
    -d 是否为目录
    -f 是否为文件
    -r -w -x 是否可读 可写 可执行
    -e 开启转义
    换行
    %s 将参数按字面意思解释为字符串
    %f 浮点
    %d 整形

    六 read从键盘读入内容

    用法:

    read -p "提示信息" 变量名

    例子:

    read -p "请输入你的用户名: " username

  • 相关阅读:
    django的路由系统
    django配置
    边工作边刷题:70天一遍leetcode: day 2
    边工作边刷题:70天一遍leetcode: day 5
    边工作边刷题:70天一遍leetcode: day 5
    边工作边刷题:70天一遍leetcode: day 5
    边工作边刷题:70天一遍leetcode: day 6
    边工作边刷题:70天一遍leetcode: day 6
    边工作边刷题:70天一遍leetcode: day 6
    边工作边刷题:70天一遍leetcode: day 6
  • 原文地址:https://www.cnblogs.com/kriskris/p/12089598.html
Copyright © 2011-2022 走看看