• bash 笔记


    变量: PATH 环境变量 SHELL 当前shell   UID 用户的UID

    GID 用户的GID  USER 用户名  $1..$9 位置参数   $# 位置参数的个数 $* 所有的位置参数(作为单个字符串)  $@ 所有的位置参数(每个

    都作为独立的字符串)  LANG 当前系统语言设置变量  RANDOM 可取出随机数

    弱引用“” 把大部分字符都看作普通字符,例外的有\,$,`三个特殊字符

    * 匹配任意长度的任意字符   ?匹配任意单个字符  [] 匹配指定范围内的任意单个字符 几种特殊格式:[a-z] 任意单个字母 [0-9]

    意单个数字 [a-z0-9] 任意一个数字或字母

    [:upper:] 大写字母 [:lower:] 小写字母  

    定义一个环境变量:declare -x var_name=value 或者 export var_name=value

    定义一个整形变量 declare -i var_name=value

    +=,-=,*=,/=,%=都需要使用let命令进行描述 比如let var+=1  let var++

    定义一个变量: mypath="/etc/sysconfig/network-scripts/"

    echo ${mypath:5} 偏移5个字符显示

    echo ${mypath:5:5} 偏移5个字符,取5个字符

    echo ${mypath: -10} 取出最后10个字符

    判断字符串是否相等:[[ "$mypath" == "kk" ]]  ==两边都要有空格,而且字符都要用引号引起来

    判断指定的字串是否为空 [[ -z "$mypath" ]] 为空则为真,不空则为假

    [[ -n "$mypath" ]] 判定指定的字串,为空为假,不空为真

    [ -e /etc/sysconfig ] 判定一个文件是否存在 -a-e是一个意思,类似的还有-d 是否存在并且为目录 -f 是否存在并且为普通文件 -r文

    件存在并且可读 -s文件存在且不为空 -w文件存在且可写 -x文件存在且可执行

    while 的特殊用法之遍历文件的行:while read i;do echo $i; done < /etc/passwd

    定义一个函数: f_name () {..函数体..}  注意在函数中尽量用local来定义变量

    数组:存储多个元素的连续的内存空间,整个数组只有一个名字

    数组索引:编号从0开始    ${ARRAY_name[INDEX]}

    声明数组:declare -a NAME

    一次只赋值一个元素:NAME[0]=jerry NAME[1]=bob

    一次赋值全部元素:NAME=("val1" "val2" "val3")

    只赋值特定元素:NAME=([0]="VAL1" [3]="VAL3")

    引用数组中的元素:${ARRAY_NAME[INDEX]}, 注意:引用时,只给数组名。表示引用小标为0的元素

    数组的长度(数组中元素的个数): ${#ARRAY_NAME[*]} 或者 ${#ARRAY_NAME[@]}

     

    取十个随机数的最大值

    #!/bin/bash

    declare -a rand
    declare -i max=0

    for i in {0..9}; do
      rand[$i]=$RANDOM
      echo ${rand[i]}
      [ ${rand[$i]} -gt $max ] && max=${rand[$i]}
    done

    echo "MAX: $max"

  • 相关阅读:
    k8s各个组件使用过程中的纪要
    lynis安装与使用
    在docker容器中使用sudo命令
    CAD文字双击后移位
    Centos 7 上 源码安装和配置 ATS 9.1.2
    《编程之美》2.2 不要被阶乘吓倒
    《编程之美》2.1 求无符号整数N的二进制表示中1的个数
    达梦数据库体系学习分享
    使用grabit分析mysql数据库中的数据血缘关系
    C++ 赋值运算符和拷贝构造函数
  • 原文地址:https://www.cnblogs.com/linuxboke/p/5664841.html
Copyright © 2020-2023  润新知