#!/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
不是被插值,而是被作为文本字符串读取。