为什么在此处获取模糊重定向的错误?

时间:2012-07-30 09:59:23

标签: linux bash shell

我正在尝试收听管道并编写此代码,但是我得到了模糊的重定向错误,为什么呢?

pipe = "./$1"

# trap enables to execute a command when a signal is sent to your script
trap "rm -f $pipe" EXIT


if [[ ! -p $pipe ]]; then
    mkfifo $pipe
fi


while true
do
    if read line <$pipe; then
        if ["$line" == 'EXIT'  -o  "$line" == 'exit' ]; then
            break
        else 
            echo $line
        fi
    fi
done

1 个答案:

答案 0 :(得分:3)

我怀疑你的第一行因错误而失败:

  

pipe:找不到命令

因为bash中的变量赋值不支持变量名和=符号之间的空格。因此,$pipe未定义且read line < $pipe失败。尝试:

pipe="./$1"