2台の(Debian)Linuxサーバーがあります。シェルスクリプトを作成しています。
最初に、こうして配列を作成します:
#!/bin/bash
target_array=(
"/home/user/direct/filename -p123 -r"
)
それはうまくいきます。しかし、他のサーバーでこれを実行すると、次のようになります:
Syntax error: "(" unexpected
私の知る限り、両方のサーバーは同じです。なぜこれがうまくいかないのか、誰かが光を当てることができますか?
ターミナルに直接入力すると問題ありませんか?
私がそれを実行すると
sh scriptname.sh
エラーが表示されますが、次のように実行すると
./scriptname.sh
大丈夫そうです。違いは何ですか?
sh
されていないbash
として、それを実行しているし、そうすることはsh scriptname.sh
間違っている
cat -v <script>
スプリアス文字があるかどうかを確認します。