一起使用 -a , -p 讀取指令

一起使用 -a , -p 讀取指令

在bash腳本中我們可以從同一行讀取幾個數組變量

如何在 read 指令上同時使用-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

相關內容