代码之家  ›  专栏  ›  技术社区  ›  hcs42

如何在bash中获取第n个位置参数?

  •  83
  • hcs42  · 技术社区  · 16 年前

    n 是可变的吗?

    4 回复  |  直到 7 年前
        1
  •  92
  •   Dennis Williamson    16 年前

    使用Bash的间接功能:

    #!/bin/bash
    n=3
    echo ${!n}
    

    $ ./ind apple banana cantaloupe dates
    

    cantaloupe
    

    编辑:

    你也可以进行数组切片:

    echo ${@:$n:1}
    

    echo ${@[n]}  #  WON'T WORK
    
        2
  •  10
  •   Johannes Weiss    16 年前

    N

    eval echo \${$N}
    

    如果是经常使用

    echo ${12}
    

    echo $12
    

    意思不一样!

        3
  •  6
  •   Alex Barrett    16 年前

    阅读

    Handling positional parameters

    Parameter expansion

    $0:第一个位置参数

    1...$9:参数列表中从1到9的元素

        4
  •  0
  •   Zen    16 年前

    #!/usr/bin/sh
    echo ${@:${#}}
    

    sh 5.1$ sh nth_field.sh 1 23 1000 103399
    103399
    
        5
  •  -1
  •   Community Mohan Dere    10 年前
    推荐文章