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:找不到命令
我该如何解决这个问题?
答案 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命令找不到的错误
当你初始化任何变量时,你必须在左边没有带变量名的$