从父文件调用时出现意外标记“

从父文件调用时出现意外标记“

我正在编写一个配置生成器脚本。

当我将功能代码 ( setup_displays) 直接粘贴到终端中时,一切正常。但是当我打电话时sh generator.sh我收到此错误:

functions.sh: line 3: ./helpers.sh: Permission denied
functions.sh: line 75: syntax error near unexpected token `<'
functions.sh: line 75: `  done< <(echo $display_result)'

生成器.sh

#!/bin/bash
set -x
source functions.sh
setup_display

函数.sh

#!/bin/sh
source ./helpers.sh

setup_display() {
 display_result=2 87 800 600 60 1 0 0 0

  # setting params
  while read -r hdmi_group hdmi_mode hdmi_cvt; do
    echo "hdmi_mode" "$hdmi_mode"
    echo "hdmi_group" "$hdmi_group"
    echo "hdmi_cvt" "$hdmi_cvt"
  done< <(echo $display_result)    # line 75
}

这是正确的输出

hdmi_mode 87
hdmi_group 2
hdmi_cvt 800 600 60 1 0 0 0

我做错了什么?

答案1

#!/bin/sh不等于#!/bin/bash.

无论如何:这是对 echo 的无用使用。使用

done <<<$display_result

反而。

相关内容