美文网首页
linux shell 基本语法之快速上手shell编程

linux shell 基本语法之快速上手shell编程

作者: 呼啦啦的爱 | 来源:发表于2020-04-15 14:54 被阅读0次

      从程序员的角度来看,

    Shell本身是一种用C语言编写的程序,从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用

    Shell脚本编程,完成更加复杂的操作。在Linux

    GUI日益完善的今天,在系统管理等领域,Shell编程仍然起着不可忽视的作用。深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修

    功课之一。

      Linux的Shell种类众多,常见的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again

    Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for

    Root(/sbin/sh),等等。不同的Shell语言的语法有所不同,所以不能交换使用。每种Shell都有其特色之处,基本上,掌握其中任何一种

    就足够了。在本文中,我们关注的重点是Bash,也就是Bourne Again

    Shell,由于易用和免费,Bash在日常工作中被广泛使用;同时,Bash也是大多数Linux系统默认的Shell。在一般情况下,人们并不区分 Bourne

    Shell和Bourne Again Shell,所以,在下面的文字中,我们可以看到#!/bin/sh,它同样也可以改为#!/bin/bash。

      一.基本语法

      1.变量:export 变量全局

      C代码

      #!/bin/bash

      num=$1export num

      echo $num

      2.条件判断

      C代码

      if [[ condition ]]; then

      #statements

      if

      #!/bin/bashif [[ $1 == 1 ]]; then

      echo $1

      else

      echo"value is not 1"

      if

      常用的判断参数列表

      3.case分支

      C代码

      #!/bin/bash

      case $1 in

      1)

      C代码

      echo "the value is 1";;

      2)

      C代码

      echo "the value is 2";;

      3)

      C代码

      echo "the value is 3";;

      4)

      C代码

      echo "the value is 4";;

      *)

      echo"defult value"

      esac

      4.循环语句for

      C代码

      #方法1for (( i = 0; i < 10; i++ )); do

      #statements

      done#方法2for i in words;do #statementsdone

      例程:

      C代码

      #!/bin/bash

      for (( i = 0; i < 10; i++ )); do

      echo"the value is $i"

      done

      5.while循环

      C代码

      while [[ condition ]]; do

      #statements

      done

      例程:

      C代码

      #!/bin/bash

      i=$1

      while [[ $i != 0 ]];

      do

      echo"value is $i"

      let"i=i-1"

      done

      6,函数

      1、必须在调用函数地方之前,声明函数,shell脚本是逐行运行。不会像其它语言一样先预编译。一次必须在使用函数前先声明函数。

      2、total=$(fSum 3 2); 通过这种调用方法,我们清楚知道,在shell 中 单括号里面,可以是:命令语句。

    因此,我们可以将shell中函数,看作是定义一个新的命令,它是命令,因此 各个输入参数直接用 空格分隔。 一次,命令里面获得参数方法可以通过:$0…$n得到。

    $0代表函数本身。

      3、函数返回值,只能通过$?

    系统变量获得,直接通过=,获得是空值。其实,我们按照上面一条理解,知道函数是一个命令,在shell获得命令返回值,都需要通过$?获得。

      C代码

      #!/bin/bash

      function add()

      {

      echo $1 $2

      return $(($1+$2))

      }

      value=$(add $1 $2);

      echo $value,$?

      7.数组

      C代码

      # 取得数组元素的个数

      length=${#array_name[@]}

      # 或者

      length=${#array_name[*]}

      # 取得数组单个元素的长度

      lengthn=${#array_name[n]}

      读取数组元素值的一般格式是:

      C代码

      ${array_name[index]}valuen=${array_name[2]}

      例程

      C代码

      #!/bin/bash

      name=(a b c d e f g)

      length=${#name[@]}

      echo $length

      for (( i = 0; i < $length; i++ )); do

      echo valuen=${name[$i]}

      done

      分享一个关于shell编程的学习资料

      http://www.makeru.com.cn/live/3485_1489.html?s=45051

    相关文章

      网友评论

          本文标题:linux shell 基本语法之快速上手shell编程

          本文链接:https://www.haomeiwen.com/subject/oiycvhtx.html