用户输入以指定数组名称[bash]

时间:2015-04-23 04:42:11

标签: arrays bash shell scripting user-input

我刚开始学习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

如果你能指出我正确的方向,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以使用如下变量数组名访问数组:

#!/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]]