![테스트 파일은 1개의 파일에서만 작동합니다. 2개의 파일에서 작동하도록 하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/103906/%ED%85%8C%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%80%201%EA%B0%9C%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%EB%A7%8C%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4.%202%EA%B0%9C%EC%9D%98%20%ED%8C%8C%EC%9D%BC%EC%97%90%EC%84%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EB%8F%84%EB%A1%9D%20%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
xyz.PDF 파일이 있으면 작동합니다.
[ -e *.PDF* ] && echo 'yes'
그러나 다음과 같은 두 개의 파일이 있는 경우
xyz.PDF
abc.PDF
알겠어요
$ [ -e *.PDF* ] && echo 'yes'
-bash: [: sometstgg.PDF: binary operator expected
이 문제를 해결하고 1개 이상의 파일을 허용하려면 어떻게 해야 합니까?
답변1
set -- *.PDF
[ "$#" -gt 0 ] && [ "$*" != "*.PDF" ] && echo 'yes'
아마도 더 나은 해결책이 있을 것입니다. *.PDF
실제 이름이 있는 항목이 있으면 실패할 것이기 때문입니다.
bash
그 정도면 충분하다고 생각 하니까
shopt -s nullglob
set -- *.PDF
[[ "$#" -gt 0 ]] && echo yes
에서는 ksh93
이것으로 충분해 보입니다:
[ -e *.PDF ] && echo yes