zoukankan      html  css  js  c++  java
  • Shell脚本的数组、for循环以及函数声明

    前言

    对于一些设计操作系统的任务,第一想到Python调用os.system()函数调用shell命令。
    简单的流程控制,决定直接编写shell脚本,顺便也能熟悉shell的语法。

    数组

    类似其他语言,shell也支持数组,不过仅限一维,对于矩阵等高维数组只能间接实现。

    • 声明方法1
      直接赋值,以空格分割
    #!/bin/bash
    array=(-1.0 C 2 up)
    
    • 声明方法2
      逐一赋值,下标始于0
    #!/bin/bash
    array[0]=-1.0
    array[1]=C 
    array[2]=2 
    array[3]=up
    
    • 调用方法
    #!/bin/bash
    echo $array       #默认返回首元素:-1.0
    echo ${array[3]}  #按index返回:up
    echo ${array[*]}  #输出所有元素:-1.0 C 2 up
    echo ${array[@]}  #同上
    echo ${#array[*]} #获取长度:4
    

    for循环

    和其他语言一样,shell支持for循环进行遍历。
    若列表是确定的,可直接写作:

    #!/bin/bash
    for n in -1 0 1
    do
        echo $n
    done
    

    若列表来自变量,也可写作for n in ${array[@]}
    除常见循环外shell还有until循环,和while相反,有点意思。

    函数声明

    对于反复调用的代码片段,函数可能是更好的选择。
    shell声明函数时不指定参数的名称和数量,而使用类似脚本传入参数的方式$1 $2实现

    #!/bin/bash
    myFun(){
        touch $1
        mv ./a.out $2
    }
    

    注意:

    1. 参数始于$1
    2. 超过10个参数写作${10}
  • 相关阅读:
    博客园20071027上海聚会
    上海招聘.NET(C#)程序员
    招人
    漂亮的后台WebUi框架(有源码下载)
    js插件库系列导航
    PrestoSQL(trinodb)源码分析 执行(下)
    Extjs4 (二)
    Struts2(1)简介
    css中的字体
    什么是REST架构
  • 原文地址:https://www.cnblogs.com/azureology/p/13167165.html
Copyright © 2011-2022 走看看