#!/bin/bash
COUNTER=$#
until [ $COUNTER -eq 0 ]; do
args[$COUNTER]=\$$COUNTER
let COUNTER-=1
done
echo ${args[@]}
これを実行すると、次の結果が得られます
user@host:~/sandbox# ./script.sh first second third
$1 $2 $3
そして、$1、$2、および $3 が "$1" のテキスト値ではないものをエコーアウトすることを期待しています
指定した引数の数のサイズの配列を作成するスクリプトをbashで作成しようとしています。
私は期待しています
user@host:~/sandbox# ./script.sh alpha bravo charlie
alpha bravo charlie
また
user@host:~/sandbox# ./script.sh 23425 jasson orange green verb noun coffee
23425 jasson orange green verb noun coffee
だから、目標は作ることです
args[0]=$1
args[1]=$2
args[2]=$3
args[3]=$4
私のやり方では、$1,$2,$3
補間されていませんが、テキスト文字列として読み取られています。