这段代码有什么问题吗?

这段代码有什么问题吗?
#!bin/bash

if [ ! -e $1 ];
then
        echo "error... no such file"
        exit
else
        END=$(wc -l $1 | cut -d" " -f1)
        for (( i=1;i<=END;i++));
        do
        echo -e " $i \n"
        echo "$(head -$i $1 |tail -1)"
        temp=$(head -$i $1 |tail -1|)
        echo "this is temp $temp"

         done

fi

失败的行是我为 赋值temp。我收到syntax error near unexpected token `)'错误,但我不明白为什么

答案1

您的代码有一个拼写错误,|)位于:

temp=$(head -$i $1 |tail -1|)

您需要删除管道 ( |) 或将其提供给另一个命令。

答案2

错误在行:

temp=$(head -$i $1 |tail -1|)

你写了一个尾管|

答案3

正如我之前评论的那样,正如其他人提到的,您的代码行存在语法错误。

temp=$(head -$i $1 |tail -1|)

这应该是:

temp=$(head -$i $1 |tail -1)

相关内容