bash에서의 ~ 사용에 관하여

bash에서의 ~ 사용에 관하여

"find"를 사용하여 홈과 하위 디렉터리에 있는 모든 bash 스크립트를 찾으려고 합니다. 이를 위해 터미널에 다음을 입력합니다.

find  ~ -name '*.sh'

하위 디렉터리에 포함된 .sh 파일은 반환하지만 기본 디렉터리의 파일은 반환하지 않습니다.

그러나 다음 지침은 유효합니다.

find . -name '*.sh'

왜 "~"와 함께 작동하지 않는지 궁금합니다. 어떤 아이디어가 있습니까?

편집하다. 요청대로:

$ ls -ld ~
drwxr-xr-x 25 administrateur sudo 4096 janv. 28 13:52 /home/administrateur
$ ls -ld "$PWD"
drwxr-xr-x 3 root root 4096 janv. 28 11:15 /home

답변1

당신이 달릴 때

find . -name '*.sh'

당신은 에 있지만 홈/home 디렉토리는 입니다 .~/home/administrateur/home

따라서 외부 파일 find ~ ...은 검색되지 않고 아래 파일만 검색됩니다 /home/administrateur./home/home/administrateur

관련 정보