【问题标题】:read values from screen into an array将屏幕中的值读入数组
【发布时间】:2016-11-28 15:22:05
【问题描述】:

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

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 和 bash 中运行了上面的代码片段,错误仍然存​​在 操作系统:AIX 7.1

【问题讨论】:

标签: shell aix


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 2018-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-05-06
    • 2016-05-09
    相关资源
    最近更新 更多