从屏幕读取值到数组

时间:2016-07-25 10:18:30

标签: shell aix

我想从屏幕输入中读取条目并将它们推送到数组

echo "enter the day, example 01 or 02 etc..enter CTRL+D to break";

while read line;
do
    my_array=("${my_array[@]}" $line)
done

然而,当我尝试执行它时,我收到以下错误

  

第5行的语法错误:`my_array ='不期望。

任何输入shell正在检测的语法错误

P.S:我已经在shell中运行了上面的snipet以及bash,错误仍然存​​在 操作系统:AIX 7.1

1 个答案:

答案 0 :(得分:1)

您可以在bash环境中运行此操作,如下所示;

user@host:/tmp:>cat testksh.sh 
#!/bin/ksh
echo "enter the day, example 01 or 02 etc..enter CTRL+D to break";
while read line;
do
    my_array=("${my_array[@]}" $line)
done

user@host:/tmp:>./testksh.sh 
    enter the day, example 01 or 02 etc..enter CTRL+D to break
    ./testksh.sh[3]: 0403-057 Syntax error at line 5 : `(' is not expected.

user@host:/tmp:>cat testbash.sh 
#!/bin/bash
echo "enter the day, example 01 or 02 etc..enter CTRL+D to break";
while read line;
do
    my_array=("${my_array[@]}" $line)
done


user@host:/tmp:>./testbash.sh 
enter the day, example 01 or 02 etc..enter CTRL+D to break
01