• shell基础命令


    一、shell脚本命令

    1.shell脚本第一行解释:

    #! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell

    2.创建一个目录:

    mkdir crtest
    3.切换到指定目录crtest
    3.1vim test01.sh 按回车进入编辑界面
    i :在当前位置插入
    a:在当前位置后追加
    o:在当前位置的后面插入一行
    I :在行头插入
    A:在行尾追加
    O:在当前位置的前面插入一行
    ‘ESC’键从编辑模式转换到阅读模式
    3.2.阅读模式(或叫命令模式)下:
    :w 保存文件
    :w filename 保存成filename文件
    :q 退出
    :q! 强行退出
    :w! 强行写
    :wq 保存退出 (等价输入两个ZZ)
    :x 同wq
    4.按键盘中的i进入创建模式
    第一行指定解释器:
    #! /bin/bash
    #Date : 2022-02-12
    #Author : chenran
    #Vertion : 1.0
    echo “hello shell” 
    输出:hello shell
    5.执行脚本
    方式一:/bin/bash/test01.sh --不需要授权
    方式二:./test01.sh
    赋权:chmod 777 test01.sh
    6.shell变量
    全局变量:永久生效
    普通变量:作用于运行期间,退出shell变量失效
    a = 20 --内容纯数字不需要加引号
    echo ${a}
    将命令的结果作为变量的内容赋值:time = $(date)
    echo ${time} --等价于:echo $(date)
    特殊变量:
    $0:获取当前执行shell脚本的文件名,如果执行脚本包含了路径,那就包含路径名
    $n:获取当前执行的shell脚本的第n个参数,n=1....9,当n为0时表示脚本的文件名,如果n>9,则用大括号括起来,例如${10}
    echo $0
    ------------------------
    echo $1
    执行:./test01.sh 输出为:空
    执行:./test01.sh start 输出为:start --取第一个参数
    $#:获取当前执行的shell脚本后面接的参数的总个数
    echo $#
    执行:./test01.sh start stop 输出:2
    $?:获取执行上一个指令的执行状态返回值(0为成功,非零为失败)
    echo $#
    echo $?
    执行:./test01.sh start stop 输出:2,0
    表示执行echo $#成功
     

    二、运算命令

    加法:echo $((1+2)) 
    输出:3
    除法:echo $((3/2))
    输出:1
    i=10
    echo $((i++))   
    输出:10
    echo $((++i))     
    输出:11

     

    三、条件表达式:

    [ 5 -eq 3 ] && echo "true" || echo "false"
    输出:false
    注:操作符中间严格注意空格
    [ "hello" -eq "hello" ] && echo "true" || echo "false"
    输出:true
    [  -n "hello"  ] && echo "true" || echo "false"
    输出:true
    [ -d /data/crtest/ ] && echo "true" || echo "false"
    输出:true
    [ -f /data/crtest/test01.sh ] && echo "true" || echo "false"
    输出:true
    [ -e /data/crtest/test01.sh ] && echo "true" || echo "false"
    输出:true
    [ -e /data/crtest/test01.sh -a -z "aa" ] && echo "true" || echo "false"
    输出:false
    分析:/data/crtest/test01.sh文件存在为真,”aa“长度不为0为假,真&&假=》假
     

    四、流程控制结构

     
    if  [ -e /data/crtest/test01.sh ];then
           echo "true"
    fi
    输出:true

    if [ $1 == "a" ]; then
          echo "a"
    elif [ $1 == "b" ]; then
          echo "b"
    else
          echo "c"
    fi
    
    执行:./test01.sh a   
    输出:a
     
    i=1
    while  [ ${i} -le 10 ]
    do
            echo ${i}
             ((i++))
    done
    输出:1~10
         
    案列二:求和
    i=1
    sum=0
    while  [ ${i} -le 10 ]
    do
             sum=$((sum + i))
             ((i++))
    done
    echo ${sum}
    输出:55

    注:

    exp1:对变量进行初始化
    exp2:条件表达式
    exp3:变量更改条件表达式

    方式一:
    for i in 1 2 3 4 5 6 7 8 9 10
    do 
              echo ${i}
    done
    输出:1~10
    
    方式二:
    for ((i=1; i<=10; i++))
    do
         echo ${i}
    done
    输出:1~10

  • 相关阅读:
    java操作docker示例(docker-java)
    istio实现对外暴露服务
    istio实现自动sidecar自动注入(k8s1.13.3+istio1.1.1)
    k8s1.13.3安装istio(helm方式)
    wrk http压测工具介绍
    etcd 相关介绍
    openresty 常用API学习
    Lua 相关知识点
    Lua 获取table的长度
    Lua 字符串相关操作
  • 原文地址:https://www.cnblogs.com/crdhm12040605/p/15814484.html
Copyright © 2020-2023  润新知