bash: 예상치 못한 표시 "(" 근처에 구문 오류가 있습니다.

bash: 예상치 못한 표시 "(" 근처에 구문 오류가 있습니다.

일부 파일을 나란히 연결하려고합니다.

pr터미널에서 이 명령을 사용합니다. 잘 작동하지만 쉘 스크립트에서 사용하면 다음과 같은 오류 메시지가 나타납니다.

syntax error near unexpected token `('

스크립트는 다음과 같습니다.

#!/bin/sh
myfile1=toto1.dat
myfile1=toto2.dat
file_out=mytoto_out.dat
touch ${file_out}
/usr/bin/pr -mts' ' <( /usr/bin/cut -d' ' -s -f1,2,3,4,5,6,7,8,9,10,11 ${myfile1}) <( /usr/bin/cut -d' ' -s -f8 $myfile2) >>${file_out}
echo ${file_out} " is done"

답변1

명령줄에서 쉘은 bash입니다. 귀하의 스크립트에서는 /bin/sh분명히 /bin/sh시스템에서 bash가 아닌 셸을 사용하고 있으며 <()쉘이 무엇이든 /bin/sh구문은 분명히 존재하지 않습니다.

shebang( #!/bin/sh부분)을 로 변경합니다 #!/bin/bash.

관련 정보