두 개의 (데비안) 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>
가짜 문자가 있는지.