在读取命令上一起使用 -a ,-p

在读取命令上一起使用 -a ,-p

在 bash 脚本中我们可以从同一行读取几个数组变量吗

如何在读取命令中同时使用-a& ?-p

我努力了:

read -ap 'vi:' var_1
read -pa 'vi:' var_1
read -a -p 'v1:' var_1
read -p -a 'v1:' var_1

这些都不起作用。还有其他选择吗?

答案1

您可以使用循环将输入字符串附加到数组。

#!/bin/bash

array=()
while true; do
    read -rp "vi: " input
    [[ -z $input ]] && break || array+=("$input")
done

echo "${array[@]}"

答案2

你的方法bash只需稍加修改即可:

清除变量

$ unset asdf

将选项放在-a选项后面-p 'string'

$ read -p 'enter 4 items separated by space ' -a asdf
enter 4 items separated by space  1 2 3 4

检查结果

$ echo ${asdf[@]}
1 2 3 4
$ echo ${asdf[3]}
4
$ echo ${asdf[0]}
1

相关内容