web-dev-qa-db-ja.com

bashでn番目の位置引数を取得する方法は?

Bashでnth番目の位置引数を取得する方法(nは可変)

69
hcs42

Bashのインダイレクション機能を使用します。

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

そのファイルを実行する:

$ ./ind Apple banana cantaloupe dates

生産物:

cantaloupe

編集:

配列スライスを行うこともできます:

echo ${@:$n:1}

配列添え字ではありません:

echo ${@[n]}  #  WON'T WORK
99

Nが変数に保存されている場合、

eval echo \${$N}

一定の使用である場合

echo ${12}

以来

echo $12

同じ意味ではありません!

12
Johannes Weiss
$1 $2 ... $n

$0には、スクリプトの名前が含まれています。

7
Alex Barrett

Bash by Example でわかるように、自動変数$ 1、$ 2などを使用するだけです。

$#は、引数の数を取得するために使用されます。

0
Zen