bash命令错误

时间:2012-06-09 07:59:40

标签: linux bash

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:line 9:= EDA_7p0:找不到命令

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:5)

表格中的行:

$xyzzy=plugh
在执行之前,

会替换xyzzy ,以便它们看起来像:

=plugh

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

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

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

为:

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

$不是变量名称的一部分,它表示以下单词 应该被替换的变量。

答案 1 :(得分:1)

如果你只是写$ var2 = $ var1,那么现在让var1 = 1和var2 = 2然后它会给你2 = 1命令找不到的错误

当你初始化任何变量时,你必须在左边没有带变量名的$