"spch2008" 没关系。但是,当我使用变量替换“100”时,出现错误。 执行:100:未找到 PIPE_ID=1-6ren">
gpt4 book ai didi

linux - 在 exec 中使用变量时为 "exec not found"

转载 作者:太空狗 更新时间:2023-10-29 11:08:21 48 4
gpt4 key购买 nike

我遇到了一个奇怪的问题。

mkfifo "spch2008"
exec 100<>"spch2008"

没关系。但是,当我使用变量替换“100”时,出现错误。

执行:100:未找到

PIPE_ID=100
mkfifo "spch2008"
exec ${PIPE_ID}<>"spch2008"

我不知道原因。请帮助我,谢谢。

最佳答案

是shell没有对重定向运算符左侧进行变量扩展造成的。您可以使用解决方法:

eval exec "${PIPE_ID}"'<>"spch2008"'

它将强制 shell 进行变量扩展,产生

eval exec 100'<>"spch2008"'

然后内置的eval 将命令提供给shell,shell 将有效地执行

exec 100<>"spch2008"

关于linux - 在 exec 中使用变量时为 "exec not found",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30961183/

48 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com