`構文エラー:配列を作成するとき "("予期しない`)

`構文エラー:配列を作成するとき

2つの(Debian)Linuxサーバーがあります。シェルスクリプトを作成しています。

最初は配列を作成しました。

#!/bin/bash
target_array=(
    "/home/user/direct/filename -p123 -r"
)

良い結果。ただし、別のサーバーで実行すると、次の結果が表示されます。

Syntax error: "(" unexpected

私が知っている限り、両方のサーバーは同じです。なぜこれがうまくいかないのかを説明できる人はいますか?

端末に直接入力しても大丈夫ですか?


私がこれを実行すると

sh scriptname.sh

エラーが発生しますが、実行すると

./scriptname.sh

問題ないようです。違いは何ですか?

ベストアンサー1

使用すると、最初の行に一緒に適用され./scriptname.shます。ただし、使用すると代わりに実行されます。/bin/bash#!sh scriptname.shshbash

シェルにはsh配列を生成する構文はありませんが、Bashにはユーザーが使用する構文があります。

おすすめ記事