1
i=0
while read line

    do
    echo "i is --- $i"
    #echo $line "\n"

    if (( $i > 0 ))
    then
    $Eda_package=$(echo $line | awk '{print $1}')
    $well_bias=$(echo $line | awk '{print $2}')
    $biasmap=$(echo $line | awk '{print $3}')
    $unified=$(echo $line | awk '{print $4}')
    echo "eda pack --$Eda_package  wellbias is --$well_bias biasmap is --$biasmap  unified-      -- $unified"
    fi
    i=$((i+1))
    done < config.list

在上面的 bash 程序中,我得到一个错误:

./script.sh:第 9 行:=EDA_7p0:找不到命令

我该如何解决?

4

2 回答 2

5

表格行:

$xyzzy=plugh

xyzzy 在它们被执行之前将被替换,因此它们看起来像:

=plugh

假设它们尚未设置。如果设置了它们您可能会得到不同的行为,但仍然几乎可以肯定不是您想要的。

你应该改变你的行(例如):

$Eda_package=$(echo $line | awk '{print $1}')

至:

Eda_package=$(echo $line | awk '{print $1}')

不是变量名的$一部分,它表明后面的单词一个应该被替换的变量。

于 2012-06-09T08:04:18.127 回答
1

现在让 var1=1 和 var2=2 如果你只是写 $var2=$var1 那么它会给你错误 2=1 command not found

当您初始化任何变量时,您必须在没有 $ 的情况下在左侧使用变量名

于 2012-06-09T08:12:47.653 回答