浏览 709 次
锁定老帖子 主题:shell脚本编程
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2020-04-15
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 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |