zoukankan      html  css  js  c++  java
  • shell入门

    输出环境变量

    echo $PATH

    shell脚本执行需要给与权限

    chmod +x
    chmod u+x
    chmod a+x
    使用bash + 脚本,则不需要执行权限

    变量赋值“=”两边不可有空格

    将命令值赋予变量 A=date
    B=$(lS -l)
    B=${lS -l}

    列出所有变量 set

    set | grep 变量名

    单引号、双引号区别

    单引号内容原封不动输出
    双引号取消了空格的作用,特殊符号含义保留

    删除变量

    unset变量名

    特殊变量

    位置变量:$N来表示,$0表示文件名,$n表示第n个参数值
    特殊变量:$* 程序所有参数
    $# 参数个数
    $$ 当前程序的PID
    $! 执行上一个后台指令的PID
    $? 执行上一个指令的返回值

    read命令:从键盘读取数据赋予变量

    expr命令: 整数型算数运算

    语法expr 表达式 #运算符之间必须空格
    ···
    expr 3 + 5
    a=10
    b=20
    expr $a / $b #/是整除
    expr $a * $b #*是特殊字符,需要转义
    expr $a / $b / expr $a * $b
    ···

    变量测试语句

    test 测试条件 或使用[测试条件]来省略test
    测试条件:变量、字符串、整数、文件

    流程控制

    if语法:
    ···
    if 条件
    then
    语句
    fi
    ···
    扩展:使用;可以把命令写在一行,互不影响与$$不同
    ···
    if [ -x /bin/ls ] ; then
    /bin/ls
    fi
    if/else语法:
    (if 条件1 ; then
    命令1
    else
    命令2
    fi
    ···
    扩展:if/elif/elif/else/fi
    -a && 逻辑与
    -0 || 逻辑或

    shell基本语法

    case流控制语句-适用多分支
    ···
    case 变量 in
    字符串1)命令列表1
    ;;
    字符串n)命令列表n
    ;;
    *)命令列表
    ;;
    esac
    ···

    循环语句for...done

    ···
    for 变量 in 名字表
    do命令列表
    done
    ···

    循环语句while

    ···
    while 条件
    do
    命令
    done
    ···

    使用(())扩展shell算数运算的使用方法

    使用[]必须空格,使用expr
    (())用法
    ((表达式1,表达式2...))
    此时:不用空格、不用前缀$、支持,分开

    循环语句嵌套

    echo -n 输出不换行
    read -p "输出内容" 变量名 #此时也不换行
    echo * 表示匹配当前目录所有文件名,应该echo "*"

    双重循环

    echo
    cat <<EOF

    跳出循环

    break:跳出整个循环
    continue:跳出本次循环,进行下次循环

    shift参数左移指令

    每执行一次,参数序列顺次左移一个位置,$#的值减1,
    用于分别处理每个参数,移出去的参数不再可用

    shell函数-把一个功能封装起来,使用时直接调用函数名

    ···
    函数名()
    {
    命令序列
    }

    function 函数名() #function可以不写
    {
    命令序列
    }
    ···
    注:函数调用时,不带()

  • 相关阅读:
    Go 学习之旅
    IdentityServer4 3.1.x 迁移到 4.x
    Redash 二开
    frp 内网穿透远程桌面(Windows 10)配置
    Redash 二开
    Redash 二开
    Nginx 强制 HTTPS 配置
    ASP.NET Core 奇淫技巧之SPA部署
    .NET Core 对接微信小程序数据解密
    19c生产enq: FB
  • 原文地址:https://www.cnblogs.com/kylingx/p/11642007.html
Copyright © 2011-2022 走看看