고유 한 번호로 시작하는 pdf 파일이 있습니다. 각 숫자는 사용자를 나타냅니다. 이제 각 사용자의 모든 PDF 파일을 "AllInOne"파일로 연결하려고합니다. 그러나 bash 스크립트를 실행하려고하면 pdftk 명령에서 와일드 카드를 인식하지 못합니다.bash 스크립트의 반복에서 와일드 카드 오류 - 쉘
1019-APP-CV-01.pdf
1019-APP-SOI-01.pdf
1019-APP-EC-01.pdf
1019-APP-TOR-01.pdf
1019-APP-TOR-02.pdf
1019-ADM-LOR1-01.pdf
1019-ADM-LOR2-01.pdf
내가이 bash는 스크립트 실행하려고 :
모든 사용자는 다음과 같은 명명 된 PDF 파일의 집합을해야합니다
# Script for concat all pdf files of an array of applicants to one file.
#!/bin/sh
cd FILES
array=(1019 1041 1042 1043 1044 1049 1063 1070 1073 1074 1075 1077 1078 1079 1094 1105 1111 1115 1120 1122 1124 1137 1138 1141 1143 $
for i in "${array[@]}"
do
pdftk $i-*.pdf cat output $i-AllInOne.pdf;
done
을 그리고 나는이 메시지를 가지고 모든 사용자에게. 오류 메시지 : bash는 스크립트 내 와일드 카드에 문제가
Errors encountered. No output created.
Done. Input errors, so no output created.
Error: Failed to open PDF file:
1318-*.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
Error: Failed to open PDF file:
1319-*.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.
있습니까?
#!/bin/sh를 파일의 세 번째 줄에 넣으면 전혀 무의미합니다. shebang은 첫 번째 줄의 첫 번째 열에서 발생하는 경우에만 사용됩니다. (즉, '#!'은 파일의 처음 두 바이트 여야합니다.) –
이 표시됩니다. 하지만 왜'$ bash foobar.sh' 일 때 스크립트가 작동합니까 ?? – alvas
인터프리터를 지정하고 운영 체제에 인터프리터를 결정하도록 요청하지 않기 때문에. 게다가/bin/sh는 배열을 이해하지 못한다. 이것은 bash 특정 적이다. –