zoukankan      html  css  js  c++  java
  • Linux Shell 常见用法及问题

     开头先指定路径包含shell命令解释器 通常有几种写法:

    #!/bin/bash    #!/usr/bin/bash
    #!/bin/sh   #!/usr/bin/sh

    导入其他shell文件,两种方式,这里以当前目录include.sh文件为例:

    . include.sh
    # source ./include.sh

    定义变量只包含数字、字母和下划线且开头不能数字开头:

    # 变量可以下划线开头
    _t=0
    a=10
    b=20

    取变量---变量名前加$

    str="Hello World!"
    echo $str
    expr表达式
    # expr表达式
    c=`expr $a + $b`
    echo $c
    用户输入
    # read输入
    echo 'before input' $_t
    read _t
    echo 'after input' $_t
    
    

    条件判断
    # if判断
    if test 10 -ge 20
    #if [ 10 -ge 20 ]
    then
        echo '10 >= 20'
    else
        echo '10 < 20'
    fi
    
    if [ $a == $b ]
    then
         echo 'a == b'
    else
         echo 'a != b'
    fi


    # case判断
    case $a in
    1)
        echo 1
        ;;
    4)
        echo 4
        ;;
    8)
        echo 8
        ;;
    10)
        echo 10
        ;;
    esac
    
    
    
    循环语句
    # 各种循环
    arr=(0 1 2 3 4)
    # if
    for i in ${arr[@]}
    do
        echo -e $i
    done
    
    # while
    # while : 死循环
    echo "please input 'Ctrl + D' to exit"
    while read FILM
    do
        echo "Yeah! great film the $FILM"
    done
    
    # until
    until [ $c == 32 ]
    do
        echo $c
        c=$[ $c + 1 ]
    done
    
    
    
    Shell函数定义
    # function test
    function fun(){
        echo 'this is a function'
        return 0
    }
    
    # 调用函数 unset .f 删除
    fun 1 2
    
    
    
    一些特殊操作
    # 特殊运算操作
    echo $[$a + $b]
    
    # 字符串变量 命令
    cmd="echo"
    $cmd "Hello World!"


    遍历字符串每个字符
    for i in `seq ${#content}`
    do
      s=${content:(i-1):1}
      echo $s
    done

    把命令执行结果返回到变量

    result=""
    result=$((command) 2>&1)

    变量++操作

    i=$(($i+1))
    i=$[$i+1]
    i=`expr $i + 1`
    let i++
    let i+=1
  • 相关阅读:
    2017-10-11seowhy记录
    2017.8.23创业项目方向
    西安项目分析
    创业方法
    做seowhy官网需要三个人
    2017.8.2 高级长尾编辑技巧
    Golang 任务队列策略 -- 读《JOB QUEUES IN GO》
    Go 到底有没有引用传参(对比 C++ )
    使用xorm工具,根据数据库自动生成 go 代码
    golang的Channel
  • 原文地址:https://www.cnblogs.com/yddsblog/p/12659123.html
Copyright © 2011-2022 走看看