• 马报免费资料下载-马报免费资料下载【授权官网】

  • 发布时间:2016-01-13 10:04 | 作者:yc | 来源:互联网 | 浏览:1200 次
  • 马报免费资料下载-马报免费资料下载【授权官网】

    一:逻辑判别if/case

    二:轮回句子while/for

    三:操控轮回句子的指令

    四:函数

    五:数组

    =========================================================================

    一:逻辑判别if/case

    if的三种构造:

    1.if【表达式】2.if【表达式】3.if【表达式】

    thenthenthen

    commandcommandcommand

    fielseelif【表达式】

    commandthen

    ficommand

    elif

    ····

    else

    command

    fi

    表达式:

    【 -s file】要是文件存在且非空

    【 -f/d姓名 】要是文件/目录存在

    【 -r/w/xfile】要是文件存在且可读/可写/可实行

    【 $string1 !=$string2 】要是string1不即是string2

    【 -n $string】要是string 非空(非0),回来0(true)

    【 -z $string】要是string 为空

    【 int1 -eq int2 】要是int1即是int2(不容许用=组合:

    要是存在/tmp/目录而且(或许)当前目录下存在1.txt文件,则为真,输出0

    【-d /tmp/】&&【-f 1.txt】==【-d /tmp/-d /tmp/ -a-f 1.txt】

    【-d /tmp/】||【-f 1.txt】==【-d /tmp/-d /tmp/ -o-f 1.txt】

    举例:

    #!/bin/bash

    ##成果脚本,90-100为优良,70-80为平日,其余不及格

    ##name andtime

    read -p "请输入你的成果" chengji

    if [ $chengji -ge 90 ] && [ $chengji -le 100 ]

    then

    echo "你的成果很优良"

    elif [ $chengji -ge 70 ] && [ $chengji -lt 90 ]

    then

    echo "你的成果平日"

    else

    echo"你的成果不级合格"

    fi

    当有多个判别前提时,运用if显得太繁琐了,而运用和他功用相似的case,就显得大略了了多了;

    #格局:

    变量=赋值

    case $变量名inin:在谁情面势下

    前提1)判别前提

    command1

    ;;;; :完毕符

    前提2)

    command2

    ;;

    *)* :除了形式12的其余统统形式

    默许实行的指令序列

    马报免费资料下载-马报免费资料下载【授权官网】;;

    esaccase完毕象征

    #举例:

    #!/bin/sh

    ## 判别运用的那种体系

    ## name andtime

    SYSTEM=`uname -s`

    case $SYSTEM in

    Linux)

    echo "My system is Linux"

    echo "Do Linux stuff here..."

    ;;

    FreeBSD)

    echo "My system is FreeBSD"

    echo "Do FreeBSD stuff here..."

    ;;

    *)

    echo "Unknown system : $SYSTEM"

    echo "I don't what to do..."

    ;;

    esac

    ======================六开彩开奖现场报码88=====================================================================

    二:轮回句子while/for

    while平日用得对照少,常用逝世轮回写监控脚本,格局如下:

    #!/bin/bash#!/bin/bash

    ##补白说明##count sum from 0-100

    i=0 ;sum=0

    while[表达式]while[ i -le 100 ]

    dodo

    commandsum=$[$sum+$i]

    .......echo$sum

    donei=$[$i+1]

    done

    运用举例:http://lovelace.blog.51cto.com//

    $ seq 1000开始默许是 1,间隔默许也是1

    $ seq 2 1000间隔默许是1

    $ seq 1 3 10从1到10,间隔为3,结果是:1 4 7 10

    #格局

    #!/bin/bash#指令行下的for句子

    ##remarks#事情平分发的脚本,IP为目标单位

    for .. in 前提

    do

    command

    .......

    done

    举例运用:

    #法一#法二

    #!/bin/bash#!/bin/bash

    for i in `seq 1 `for((i=1;i

    拓展:http://www.linuxdiyf.com/viewarticle.php?id=

    ==========================================================================================

    三:操控轮回句子的指令

    continue:完毕本次轮回

    break : 完毕整个shell模块轮回

    exit:完毕整个脚本,退出不再实行

    #举例说明:

    #!/bin/bash

    for i in 'seq 1 4'当为break时continueexit

    do输出:111

    echo $i111

    if [ $i -eq 2 ]222

    thenhere3

    break3

    fi4

    echo $i4

    donehere

    echo “here”

    拓展:http://lovelace.blog.51cto.com//

    ===========================================================================================

    四:函数

    #格局:#!/bin/bash

    #!/bin/bash##make add funcation,sum two number

    funcation add () {

    函数名()localsum=$[$1+$2]

    {echo $sum

    函数体}

    }a=1;b=3 ; add $a $b

    echo $add

    输出>>4去掉落local:4

    马报免费资料下载-马报免费资料下载【授权官网】funcation可不加local注解不容许模块外运用函数4

    七种用法:http://www.jb51.net/article/57951.htm

    拓展一下:http://blog.chinaunix.net/uid--id-.html

    =======================================================================0449.com香港杀庄网===================

    五:数组

    数组赋值:

    (1) array=(var1 var2 var3 ... varN)

    (2) array=([0]=var1 [1]=var2 [2]=var3 ... [n]=varN)

    (3) array[0]=var1

    ...

    array[n]=varN

    赋值 a=(0 1 2 3 4)

    输出 echo ${a[*]}>>>0 1 2 3 4把*换成@也能够

    echo ${a[1]}>>>1指定输出

    echo ${#a[@]}>>>5输出元素个数

    变动 a[3]=8;echo ${a[*]}>>>0 1 2 8 4

    添加 a[5]=3;echo ${a[@]}>>>0 1 2 8 4 3

    删去数组 unset a;echo ${a[*]}>>>无输出

    删去元素 unset a[2];echo ${a[@]}>>>0 1 8 4 3

    当然咱们也能够以字符串做数组;

    例题:

    #!/bin/bash

    #读入n次字符串,每次输入的字符串保留在数组array里

    i=0

    n=5

    while [ "$i" -lt $n ] ; do

    echo "Please input strings ... `expr $i + 1`"

    read array[$i]

    b=${array[$i]}

    echo "$b"

    i=`expr $i + 1`

    done

    #!/bin/bash

    #将字符串里的字母一一放入数组,并输出到“规范输出”

    chars='abcdefghijklmnopqrstuvwxyz'

    for (( i=0; i

    其间用到截取字符串的知识,见下:

    http://beibing.blog.51cto.com//

    或http://bbs.chinaunix.net/thread--1-1.html

    小Q :你能够从他人那里获得思维,你的思维措施,即熔铸思维的模子有需如果

    你自个的----拉姆

    就像我曾经说的,因为有c等编程言语作根底,学起shell来感想熏染会很轻松,我都不知道要

    如何记条记了,感想熏染仍是那些知识,记着太详细的话,知识点太多,不过太零星,就大年夜致

    记了一下;

    就像咱们西席说的:对付编程,我不哀求你啥句子都懂,我给你哀求,你只需给我画出他

    的流程图就行是啊,原先编程为啥注重多看多写,等于要你碰到问题能够在你脑中搜

    索你曾经的模板,其余格局啥的都好说

  • 相关内容

友情链接: