링크 생성 시 별표 표시 동작

링크 생성 시 별표 표시 동작

파일 세트에 대한 심볼릭 링크를 만들려고 합니다.

pdforigin_directory확장자가 an인 모든 파일을 현재 디렉토리에 연결하고 싶다고 가정해 보겠습니다 .

지금까지 나는 다음 명령을 가지고 있습니다.

ln -nfs origin_directory/*.pdf -t .

이것은 매우 잘 작동합니다. 현재 디렉터리에 파일이 없으면 pdf문제가 발생합니다 . 이 경우 origin_directory현재 디렉터리에 파일이 생성되고 링크가 끊어지기 때문입니다.*.pdf

이것을 피할 수 있는 방법이 있나요?

답변1

Bash에서는 이것이 작동합니다

if [ -e origin_directory/*.pdf ] ; then ln -nfs origin_directory/*.pdf . ; fi

편집: 파일이 너무 많은 경우

if [ $(ls origin_directory/*.pdf | wc -l) -gt "0" ] ; then ln -nfs origin_directory/*.pdf . ; fi

답변2

사용하는 경우 bash먼저 실행됩니다.

shopt -s failglob

아니면 더 나은 방법은 다음을 입력하는 것입니다..bashrc

이제 이 작업을 수행할 때마다:

ln -nfs origin_directory/*.pdf -t .

성공하거나 실패합니다(오류 메시지가 표시되고 아무 작업도 수행하지 않음).


매뉴얼에서

failglob 설정하면 경로 이름 확장 중에 파일 이름 패턴이 일치하지 않으면 확장 오류가 발생합니다.

관련 정보