zoukankan      html  css  js  c++  java
  • linux 学习笔记四

    linux 学习笔记四

    shell 执行过程

    shell

    bash 类型

    Login Bash
    Interactive Bash

    shell 执行

    • 父 shell Fork 一 sub-shell
    • Sub-shell继承父shell环境
    • Sub-shell调用指定的解释器解释执行该脚本
    • Sub-shell退出,相关环境被销毁
    • 父 shell 取得 sub-shell 的退出状态

    shell 解析

    1 、 brace expansion (花括号扩展)
    2 、 tilde expansion (波浪线扩展)
    3 、 parameter, variable expansion (变量扩展)
    4 、 arithmetic expansion (算术扩展)
    5 、 command substitution (命令替换)
    6 、 word splitting (词的拆分)
    7 、 pathname expansion (路径名扩展)

    Bash 语法

    变量

    • 变量赋值: name=value
    • 变量引用: ${name}

    合法的变量名: 字母、下划线、数字
    注意:
    – = 号两边不允许空格
    – $name 是 ${name} 的简写

    常用变量

    数值计算

        • / % ( 加 , 减 , 乘 , 除 , 取模 )

    i=10; j=20;
    (( i++ ))
    (( cnt=i+j))
    cnt=$(( i+j)) (( k = i * j ))
    (( k = j / i ))
    (( k = j % i ))

    流程控制

    提交判断:

    – if
    – && 与 ||
    – case

    循环:

    – for, while
    – break, continue

    
    # if else
    if expression; then
    ...
    if [[ -f /etc/SuSE-release ]]; then
    elif  expression;  then
    echo SUSE OS ...
    else
    elif [[ -f /etc/slackware-version ]]; then
       echo Slackware OS
    else
       echo “Redhat ?”
    fi
    
    # && ||
    [[ -z $default ]] && default=”ok”
    [[ -n $default ]] || default=”ok”
    
    # case 
    case $var in
       condition1)
         ...
         ;;
       condition2)
        ... ;;
       *)
        ... ;;
    esac
      
    # for  
    for var in item1 item2 ... itemN
    do
        command1
        command2
        ...
        commandN
    done
    
    # while 
    
    while condition
    do
        command
    done
    

    函数

    shell中函数的定义格式如下:

    [ function ] funname [()]
    
    {
    
        action;
    
        [return int;]
    
    }
    

    说明:
    1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
    2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)

  • 相关阅读:
    iOS开发
    金额的存储处理及显示
    jquery.validate验证表单
    js获取当前日期时间
    使用Bootstrap插件datapicker获取时间
    使用Bootstrap的suggest下拉插件
    动态菜单树加载过程
    043 组合数据类型小结
    038 序列类型操作-元组类型和列表类型
    033 模块4-PyInstaller库的使用
  • 原文地址:https://www.cnblogs.com/SLchuck/p/11533087.html
Copyright © 2011-2022 走看看