親ファイルから呼び出すと、予期しないトークン "<"が発生します。

親ファイルから呼び出すと、予期しないトークン

構成ジェネレータスクリプトを作成しています。

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

function.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

とにかく、これは役に立たないエコ使用です。使用

done <<<$display_result

代わりに。

おすすめ記事