gpt4 book ai didi

bash - 意外标记附近出现语法错误 `<'

转载 作者:行者123 更新时间:2023-12-03 02:06:20 25 4
gpt4 key购买 nike

StudentAnwser=()
inputScriptFile=001.sh

while IFS= read -r line;
do
StudentAnwser+=( "$line" )
done < <( sh $inputScriptFile test.txt )

返回错误

foo.sh: line 22: syntax error near unexpected token `<'
foo.sh: line 22: ` done < <( sh $inputScriptFile test.txt )'

这有什么问题吗?我按照其他问题的解决方案从结果中读取行

最佳答案

您收到错误是因为进程替换(<(some command)部分)不是sh中的标准功能(在POSIX中定义) ,这意味着它可能在某些操作系统上运行,但可能在其他操作系统中或在具有不同配置的同一操作系统中运行。

您澄清说您有 #!/bin/bash在脚本的顶部,但我猜您仍然通过 sh foo.sh 运行脚本,因此,#!/bin/bash将被忽略并且脚本由 sh 解释.

我假设您的默认 shell 是 bash (运行 echo $SHELL ),所以如果您将脚本粘贴到终端并执行,所有问题都会消失。

====更新====

如果我的假设正确,可能的解决方案:

离开#!/bin/bash事实上,通过chmod +x foo.sh使您的脚本成为可执行文件。然后直接通过./foo.sh运行即可

关于bash - 意外标记附近出现语法错误 `<',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36144610/

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