Utwórz tablicę w pętli z liczby argumentów
#!/bin/bash
COUNTER=$#
until [ $COUNTER -eq 0 ]; do
args[$COUNTER]=\$COUNTER
let COUNTER-=1
done
echo ${args[@]}
Kiedy to uruchomię, otrzymuję następujące wyniki
user@host:~/sandbox# ./script.sh first second third
$1 $2 $3
i oczekuję, że powtórzy to, co 1, 2 i 3 USD nie są wartością tekstową „1 USD”
Próbuję napisać skrypt w bashu, który utworzy tablicę, która jest wielkością liczby argumentów, które mu podaję.
spodziewam się
user@host:~/sandbox# ./script.sh alpha bravo charlie
alpha bravo charlie
lub
user@host:~/sandbox# ./script.sh 23425 jasson orange green verb noun coffee
23425 jasson orange green verb noun coffee
Więc celem jest zrobienie
args[0]=$1
args[1]=$2
args[2]=$3
args[3]=$4
Sposób, w jaki ja to mam$1,$2,$3
nie są interpolowane, ale po prostu czytane jako ciąg tekstowy.