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

    bash是一些基本的命令组成,要想学好bash脚本,基本命令是必须要记住

    红色标记为着重点

    1执行命令,利用状态返回值来判断

    0 : 成功

    1-255:失败

    2: 测试表达式

    [  expression ]  常用

    [[ exprseeion ]]

    bash 的测试类型

    字符串字型    文件字型

    测试数值:比较大小

    -eq  : 是否等于 [ $1  -eq  $2 ]

    -ne :  是否不等于 [ $1 -ne  $2]

    -gt :  是否大于 [ $1 -gt $2 ]

    -ge :  是否大于等于[ $1 -ge $2 ]

    -lt :  是否小于  [ $1  -lt $2 ]

    -le : 是否小于等于 [ $1 -le $2 ]

    字符串测试。字符串比较

    ==: 是否等于

    > :是否大于

    < : 是否小于

    ! = :是否不等于

    =~: 左侧字符串的字符能够被右侧的pattern所匹配

    -z " string"  判断指定的字符串是否为空。空则为真,不空则假

    -n "string" 判断指定的字符串是否为不空。不空则为真,不空为假

    注意:

    (1) 字符串要加引号

    (2) 在作字符串的比较的时候,格式如下:

    if [ "$VARIABLE" == "$VARIABLE"  -a   "$VATIABLE" == "CPU" ];then    需要在运算符号两边有空格 ,并且使用双引号将字符串包裹起来,这样即使是变量也可以替换


        文件测试

    存在性测试
        -a file   //a -a b (:和)  
        -e file  //检测存在性
        文件的存在性测试,存在为真,否则为假


    文件类型测试
        -b file:是否存在并且为块设备文件
        -c file:是否存在并且为字符设备文件
        -d file:是否存在并且为目录文件
        -f file:是否存在并且为普通文件
        -h/l file:是否存在并且为符号链接文件
        -p file:是否存在并且为管道文件
        -S file:是否存在并且为套接字文件

    文件权限测试
        -r file:是否存在并且为当前用户可读
        -w file:是否存在并且为当前用户可写
        -x file:是否存在并且为当前用户可执行

    特殊权限测试
        -u file:是否存在并且为拥有SUID权限
        -g file:是否存在并且为拥有GUID权限
        -k file:是否存在并且为拥有Sticky权限

    文件是否有内容
        -s file:是否存在并且有内容

    变量是否有为空,为空则为真
        -z ""$VARIABLE"

    文件的时间戳测试
        -N file:文件自从上次被读取后是否修改过

    从属关系测试
        -O file:当前用户是否为文件的属主
        -G file:当前用户是否属于文件的属组

    双目测试
        file1 -ef file2:是否为同一文件系统上的指向同一iNode的硬链接
        file1 -nt file2:file1 是否新于file2
        file1 -ot file2:file1 是否旧于file2

        组合条件测试

        特殊变量

    $0:脚本文件路径名称本身
    $#:保存了脚本参数的个数
    $*:所有参数
    $@:所有参数

  • 相关阅读:
    一个链表,奇数位升序偶数位降序,让链表变成升序的
    LeetCode 046 Permutations 全排列
    LeetCode 128 Longest Consecutive Sequence 一个无序整数数组中找到最长连续序列
    LeetCode 024 Swap Nodes in Pairs 交换链表中相邻的两个节点
    模板实现一个栈(内部使用动态申请的数组作为存储结构)
    004 Median of Two Sorted Arrays 两个有序数组的中位数
    静态链接与动态链接
    sizeof和strlen的区别
    const和define的区别
    lodash
  • 原文地址:https://www.cnblogs.com/liu1026/p/7392148.html
Copyright © 2011-2022 走看看