zoukankan      html  css  js  c++  java
  • Shell脚本

    1. Shell脚本第一行必须是 #!/bin/bash            
    2. 符号#!用来告诉系统执行该脚本的程序(如果使用tc shell改为tcsh)。
    3. 使用chmod命令将脚本文件权限改为可执行:chmod +x  shellfilename
    4. 在进行shell编程时,以 # 开头的句子表示注释
    5. 所有的变量都由字符串组成,并且不需要对变量进行声明
    6. 首个字符必须为字母(a-z,A-Z)
    7. 中间不能有空格,可以使用下划线(_)
    8. 不能使用标点符号
    9. 不能使用bash里的关键字
    10. 要取用一个变量的值,只需在变量名前面加一个$
    11. 给变量赋值的时候,不能在”=”两边留空格
    12. first="hello "
    13. echo “${first}world”  #混淆
    14. shell的默认赋值是字符串赋值
    15. let   表示数学运算
    16. $[]   表示将中括号内的表达式作为数学运算先计算结果再输出 如:_tot=$[$_int+89]
    17. expr   用于整数值运算,每一项用空格隔开 如:_tot='expr $var + 20'
    18. expr 运算符两侧都必须有空格
    19. C shell不支持浮点运算符

     if语句:

      if [ 条件 ]; then 语句

    elif [ 条件 ];then 语句

    else 语句

    fi

    []比较的时候其括号前后的空格别忘了! = 等号前后也要有空格也要注意

    例子:

    #!/bin/sh 
    varOne=1 
    varTwo=2 
    varThree=3 
    if [ "$varOne" = "$varTwo" ]; then 
        echo "varTwo:$varTwo" 
    elif [ "$varOne" = "$varThree" ]; then 
        echo "varThree:$varThree" 
    else 
        echo "varOne:$varOne" 
    fi 

    && 和 || 操作符:

    例子:

    #!/bin/sh 
    varOne=1 
    varTwo=2 
    varThree=3 
    if [ "$varOne" = "$varThree" ] || [ "$varOne" = "$varTwo" ]; then 
        echo "|| 进入" 
    else 
        echo "No || 进入" 
    fi 
    if [ "$varOne" = "$varOne" ] && [ "$varOne" = "$varTwo" ]; then 
        echo "&& 进入" 
    else 
        echo "No && 进入" 
    fi 

    case 语句:

     case表达式可以用来匹配一个给定的字符串,而不是数字

    #!/bin/sh 
      
    ftype=`file "$1"`   # Note ' and ` is different 
    case "$ftype" in 
    "$1: Zip archive"*) 
    unzip "$1" ;; 
    "$1: gzip compressed"*) 
    gunzip "$1" ;; 
    "$1: bzip2 compressed"*) 
    bunzip2 "$1" ;; 
    *) echo "File $1 can not be uncompressed with smartzip";; 
    esac 

     特殊变量$1,该变量包含有传递给该脚本的第一个参数值,也就是说,$1 就是字符串 articles.zip

     select 语句:

    select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择

    #!/bin/sh 
      
    echo "What is your favourite OS?" 
    select var in "Linux" "Gnu Hurd" "Free BSD" "Other"; do 
      break; 
    done 
    echo "You have selected $var" 

     while/for 循环:

    #!/bin/sh 
    varOne=1 
    varTwo=1 
      
    # while 
    while [ "$varOne" = "$varOne" ]; do 
        echo "while Done" 
        break 
    done 
      
    #  for 
    for varStr in H I M I ; do 
        echo "varStr is $varStr" 
    done

     输出

    while Done 
    varStr is H 
    varStr is I 
    varStr is M 
    varStr is I 
    localhost:Desktop Himi$ 

    函数:

    函数名()
    {
        #$1代表第一个函数参数  $2代表第二个函数参数.....
        exit 0
    }
    函数名

     脚本调试:

    最简单的调试方法当然是使用echo命令。你可以在任何怀疑出错的地方用echo打印变量值,这也是大部分shell程序员花费80%的时间用于调试的原因。Shell脚本的好处在于无需重新编译,而插入一个echo命令也不需要多少时间。shell也有一个真正的调试模式,如果脚本”strangescript”出错,可以使用如下命令进行调试:

     sh -x strangescript

    上述命令会执行该脚本,同时显示所有变量的值。shell还有一个不执行脚本只检查语法的模式,命令如下:

    sh -n your_script    

    OK,本章主要是为了熟悉一些控制语句和常用知识点,那么到这对于Shell编程基础学习认识就算告一段落,如有必要以后会继续深入学习;暂时足以;

    本文内容参考了http://xiaominghimi.blog.51cto.com/2614927/908879

     

     

  • 相关阅读:
    hdu5914 Triangle 【贪心】
    2016中国大学生程序设计竞赛(ccpc 长春) Fraction【模拟】
    hdu 4034 【floyed变形】
    A
    hdu 2553 N皇后问题【dfs】
    【算法入门经典】7.4回溯法【八皇后问题】
    用javascript实现控制一个文本框的输入字数限制,超出字数限制文本框飘红显示-面试题
    Firebug控制台详解
    CSS实现兼容性的渐变背景(gradient)效果
    jQuery学习——入门jQuery选择器之层次选择器
  • 原文地址:https://www.cnblogs.com/zhouchanwen/p/2780235.html
Copyright © 2011-2022 走看看