【问题标题】:Command not found assignement array script bash [duplicate]找不到命令分配数组脚本bash [重复]
【发布时间】:2020-10-10 16:43:45
【问题描述】:

Linux 中的 Bash 在Line 9 中给我command not found 错误,而我在其中$array[$i]="Name_Of_File$i"。 除了错误之外,还打印了正确的数字。但我想不出这怎么可能。也许一些空间?在网上我发现了这些用数组编写赋值的语法。

declare -a array;
start=0;
NumFile=$(ls -1 -d log/log_cassiere* | wc -l);
for (( i=$start; i<$NumFile; i++))
do
   $array[$i]="Name_Of_File$i";
done

echo ${array[0]};

【问题讨论】:

  • 不要在作业的左侧使用$。将整个脚本粘贴到shellcheck.net 以查看各种建议和错误。

标签: c arrays bash


【解决方案1】:

问题:

$array[$i]="Name_Of_File$i"

它实际上是解释 $array[$i],因为你在它前面有一个$。这意味着它将尝试用该值替换赋值的左侧。相反,您应该:

array[$i]="Name_Of_File$i"

【讨论】:

    猜你喜欢
    • 2010-12-15
    • 2013-11-10
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-30
    • 2013-05-17
    • 1970-01-01
    • 2014-07-25
    相关资源
    最近更新 更多