当前位置: 首页 > news >正文

哪里有做网站的教程怎么找网红合作卖东西

哪里有做网站的教程,怎么找网红合作卖东西,开网站平台需要多少钱,seo案例分析及解析shell脚本编程系列 向函数传递参数 函数可以使用标准的位置变量来表示在命令行中传给函数的任何参数。其中函数名保存在$0变量中,函数参数则依次保存在$1、$2等变量当中,也可以使用特殊变量$#来确定参数的个数 在脚本中调用函数时,必须将参…

shell脚本编程系列


向函数传递参数

函数可以使用标准的位置变量来表示在命令行中传给函数的任何参数。其中函数名保存在$0变量中,函数参数则依次保存在$1$2等变量当中,也可以使用特殊变量$#来确定参数的个数

在脚本中调用函数时,必须将参数和函数名放在同一行 比如 func $value 10

#!/bin/bash
# passing parameters to a functionfunction addem {if [ $# -eq 0 ] || [ $# -gt 2 ]thenecho -1elif [ $# -eq 1 ]thenecho $[ $1 + $1 ]elseecho $[ $1 + $2 ]fi
}echo -n "Adding 10 and 15: "
value=$(addem 10 15)
echo $value
echo -n "Let’s try adding just one number: "
value=$(addem 10)
echo $value
echo -n "Now trying adding no numbers: "
value=$(addem)
echo $value
echo -n "Finally, try adding three numbers: "
value=$(addem 10 15 20)
echo $value

在这里插入图片描述
由于函数使用位置变量访问函数参数,所以无法直接获取脚本的命令行参数。即使在函数内部使用了$1和$2变量,但它们和脚本主体中的$1和$2变量不是一回事

#!/bin/bash
# trying to access script parameters inside a functionfunction badfunc1 {echo $[ $1 * $2 ]
}if [ $# -eq 2 ]
thenvalue=$(badfunc1)echo "The result is $value"
elseecho "Usage: badtest1 a b"
fi

在这里插入图片描述
要在函数中使用脚本的命令行参数,必须调用函数时手动将其传入

#!/bin/bash
# trying to access script parameters inside a functionfunction func7 {echo $[ $1 * $2 ]
}if [ $# -eq 2 ]
thenvalue=$(func7 $1 $2)echo "The result is $value"
elseecho "Usage: badtest1 a b"
fi

在这里插入图片描述

在函数中处理变量

  • 全局变量
    全局变量是在shell脚本内任何地方都有效的变量,如果在脚本的主体部分定义了一个全局变量,那么就可以在函数内读取它的值。类似的,在函数内定义了一个全局变量,那么也可以在脚本的主体部分读取它的值。默认情况下,脚本中定义的任何变量都是全局变量
    在这里插入图片描述

  • 局部变量
    无需在函数中使用全局变量,任何在函数内部使用的变量都可以被声明为局部变量。只需要在变量前面加上local关键字即可,local关键字可以保证变量仅仅在该函数中有效,如果函数之外有同名变量,那么shell会保持这两个变量的值互不干扰。

    #!/bin/bash
    # demonstrating the local keywordfunction func1 {local temp=$[ $value + 5 ]result=$[ $temp * 2 ]
    }temp=4
    value=6func1
    echo "The result is $result"
    if [ $temp -gt $value ]
    thenecho "temp is larger"
    elseecho "temp is smaller"
    fi
    

    在这里插入图片描述

  • 数组变量
    将数组变量当做当个参数传递,并不会起作用。如果试图将数组变量作为函数参数进行传递,则函数只会提取数组变量的第一个元素

    #!/bin/bash
    # trying to pass an array variablefunction testit {echo "The parameters are: $@"thisarray=$1echo "The received array is ${thisarray[*]}"
    }myarray=(1 2 3 4 5)
    echo "The original array is: ${myarray[*]}"
    testit $myarray
    

    在这里插入图片描述
    必须先将数组变量拆解成多个数组元素,然后将这些数组元素作为函数参数传递,而在函数内部,将所有的参数重新组合成一个新的数组变量

    #!/bin/bash
    # adding values in an arrayfunction addarray {local sum=0local newarraynewarray=(`echo "$@"`)for value in ${newarray[*]}dosum=$[ $sum + $value ]doneecho $sum
    }myarray=(1 2 3 4 5)
    echo "The original array is: ${myarray[*]}"
    # arg1=$(echo ${myarray[*]})
    # result=$(addarray $arg1)
    result=$(addarray ${myarray[*]})
    echo "The result is $result"
    

    在这里插入图片描述
    从函数中返回数组先用echo语句按照正确顺序输出数组的各个元素,然后脚本再将数组元素重组成一个新的数组变量。

    #!/bin/bash
    # returning an array valuefunction arraydblr {local origarraylocal newarraylocal elementslocal iorigarray=($(echo "$@"))newarray=($(echo "$@"))elements=$[ $# - 1 ]for (( i = 0; i <= $elements; i++ )){newarray[$i]=$[ ${origarray[$i]} * 2 ]}echo ${newarray[*]}
    }myarray=(1 2 3 4 5)
    echo "The original array is: ${myarray[*]}"
    arg1=$(echo ${myarray[*]})
    result=($(arraydblr $arg1))
    echo "The new array is: ${result[*]}"
    

    在这里插入图片描述

http://www.yayakq.cn/news/208381/

相关文章:

  • app开发和网站开发一样么深圳龙华房价2022最新房价
  • 女生做网站推广网站建设的业务好做吗
  • 微信做爰视频网站机关网站建设
  • 好网站建设公司收费wordpress文章页怎么调用网站图片
  • 菏泽科技网站建设下载京东商城
  • 网站开发 实训 报告wordpress编辑页面改字体颜色
  • 郑州设计网站的公司花生壳如何建设网站
  • 新公司做网站有效果吗建设厅网站查询电工证件
  • 重庆建设工程信息网站什么是网站优化主要包括那几个
  • 访问wap网站营销策划书模板范文
  • 酒店的网站建设方案网站培训班
  • 淘宝客网站做app小程序开发平台找哪家好
  • 网站建设模板软件建筑设计规范网站
  • 有没有帮别人做网站可以帮别人备案网站吗
  • 网站建设亿金手指花总12推荐5家
  • 国外好的室内设计网站网上做视频赚钱的网站
  • 网站建设公司推荐理由广东省建设厅官网证件查询
  • s什么网站可以接单做设计赚钱wordpress推广网站插件
  • 即墨做网站的怎么改网站关键词
  • wordpress网站代码台州做网站app的公司
  • 网站无后台添加后台淘宝seo优化怎么做
  • 联盟或专业团体的官方网站的建设免费下载简历模板
  • 欧莱雅官方网站的建设徐州建站
  • ie网站建设郓城做网站哪家好
  • 江门好的建站网站卖商标的上哪个平台
  • 域名注册了后怎么建设网站wordpress 去掉版权
  • 外贸网站 php晋江网站建设报价
  • 学网站建设要多少钱定制网站成本多少
  • 做网站可以把文字做成图片吗做教育培训网站的公司
  • 软件网站开发评估创建网站需要什么技术