zoukankan      html  css  js  c++  java
  • Linux Shell 常用编程语法

    指定解释器

    #!/bin/bash
    # Sample.sh
    

    变量使用

    path=123
    path="/home"
    path=`pwd`
    

    字符串操作

    string="the path is [ $path ]"
    echo "取值:${string}"
    echo "长度:${#string}"
    echo "截取前3字节:${string:0:3}"
    echo "截取3字节后:${string:3}"
    echo "截取后3字节:${string:0-3}"
    

    传递参数

    echo "参数个数为:$#"
    echo "执行的文件名:$0"
    echo "第一个参数为:$1"
    echo "第二个参数为:$2"
    

    逻辑判断

    if true; then
        echo 'hello true.'
    else
        echo 'hello false.'
    fi
    

    常用的if判断

    功能 示例
    字符串相等 [ "${HOME}" = "/root" ]
    字符串包含 [[ "abbbc" =~ "bb" ]]
    字符串有长度 [ -n "$BASH_VERSION" ]
    数值相等 [ 2 -eq 0 ]
    存在是目录 [ -d /etc/profile.d ]
    存在是文件 [ -f /etc/profile ]

    元素遍历

    for i in `ls -a /home`; do
        echo $i
    done
    

    函数调用

    demoFun(){
        echo "函数开始乘法运算."
        val=`expr $1 \* 100`
        return $val
    }
    
    demoFun 2
    echo "函数返回值(上条指令执行结果):$?"
    

    包含与执行

    • source test.sh :表示包含文件代码,包含后可以使用该文件定义的值
    • . test.sh:字符.后带空格,功能与source相同
    • ./test.sh:表示执行这个文件,它的值不被包括到这个命名空间
  • 相关阅读:
    【js效果】密码的显示和隐藏
    【js效果】竖向折叠二级菜单
    【js效果】单行文字滚动(从左到右)
    mysql:查询排名
    init_bootmem_node
    bootmem_init_node
    for_each_node(node)
    build_mem_type_table
    __vet_atags
    asm-offset.h 生成
  • 原文地址:https://www.cnblogs.com/llil/p/14451822.html
Copyright © 2011-2022 走看看