用户输入以指定数组名称 [bash]
User input to specify array name [bash]
我刚开始学习 bash/shell 是为了好玩,我正在尝试创建一个简单的脚本,它应该接受用户输入,这应该是预构建数组的名称,然后 say
该数组中的每个项目,中间有一个暂停。
这是我目前的情况:
#!/bin/sh
array=("foo" "bar" "baz")
read -p "Which array should I read to you? " answer
for item in ${answer[@]}
do
say "$item [[slnc 1000]]"
done
如果您能指出正确的方向,请告诉我!
您可以像这样使用可变数组名称访问数组:
#!/bin/bash
array=("foo" "bar" "baz")
read -p "Which array should I read to you? " answer
tmp="$answer"[@];
for item in "${!tmp}"; do
echo "$item [[slnc 1000]]"
done
然后将上面的脚本用作:
bash arr.sh
Which array should I read to you? array
foo [[slnc 1000]]
bar [[slnc 1000]]
baz [[slnc 1000]]
我刚开始学习 bash/shell 是为了好玩,我正在尝试创建一个简单的脚本,它应该接受用户输入,这应该是预构建数组的名称,然后 say
该数组中的每个项目,中间有一个暂停。
这是我目前的情况:
#!/bin/sh
array=("foo" "bar" "baz")
read -p "Which array should I read to you? " answer
for item in ${answer[@]}
do
say "$item [[slnc 1000]]"
done
如果您能指出正确的方向,请告诉我!
您可以像这样使用可变数组名称访问数组:
#!/bin/bash
array=("foo" "bar" "baz")
read -p "Which array should I read to you? " answer
tmp="$answer"[@];
for item in "${!tmp}"; do
echo "$item [[slnc 1000]]"
done
然后将上面的脚本用作:
bash arr.sh
Which array should I read to you? array
foo [[slnc 1000]]
bar [[slnc 1000]]
baz [[slnc 1000]]