Bash에서 현재 폴더 이름 찾기
Bash 스크립트를 통해 디렉토리를 찾는 것은 매우 쉽습니다. 그러나 지금 있는 정확한 디렉토리 폴더 이름을 찾는 것은 약간 복잡합니다.
이 문서에서는 이 문서의 디렉터리에서 폴더 이름을 찾는 세 가지 방법을 소개합니다. 또한 주제를 더 쉽게 만들기 위해 필요한 예와 설명을 볼 것입니다.
Bash에서 현재 폴더 이름 찾기
이를 위해 PWD
라는 특수 키워드를 사용합니다. Bash의 이 내장 키워드는 현재 작업 디렉토리를 찾는 데 사용됩니다.
아래 예에서는 현재 있는 폴더 이름을 찾을 수 있습니다. 예제의 코드는 아래와 같습니다.
current_dir=${PWD##*/}
echo "$current_dir"
위는 작업을 수행하는 가장 쉬운 방법입니다. 그러나 다음 예는 약간 복잡합니다.
아래 예를 사용하여 폴더 이름을 찾습니다.
Current_Dir=${PWD##*/}
Current_Dir=${Current_Dir:-/}
printf '%s\n' "${PWD##*/}"
printf '%q\n' "${PWD##*/}"
위의 예에서 Current_Dir=${PWD##*/}
줄로 변수를 할당하고 Current_Dir=${Current_Dir:-/}
줄을 통해 PWD=/
가 있는 경우를 수정했습니다. .
그런 다음 다음 두 줄의 줄 중 하나를 사용할 수 있습니다. 두 줄 모두 stdout
으로 인쇄됩니다.
그러나 첫 번째 줄은 쉘 입력으로 사용하기 위해 두 번째 줄을 인용하는 특이한 이름의 경우 echo
보다 더 강력하며 숨겨진 문자를 읽을 수 있게 만드는 데에도 유용합니다. 위의 스크립트를 실행하면 현재 디렉터리 폴더 이름만 표시됩니다.
아래 예제를 통해 유사한 작업을 수행할 수도 있습니다. 여기서 우리는 전체 디렉토리를 변수로 가져왔습니다.
다음 예제의 코드는 아래와 같습니다.
DirectoryStr=/path/to/somewhere//
shopt -s extglob
CurrentDir=${DirectoryStr%%+(/)}
CurrentDir=${CurrentDir##*/}
CurrentDir=${CurrentDir:-/}
printf '%s\n' "$CurrentDir"
이 예를 부분별로 설명하겠습니다.
- 첫 번째 줄에서 변수를 만들고 디렉터리 경로를 문자열로 지정합니다.
- 그런 다음
shopt -s extglob
줄을 통해+(...)
glob 구문을 활성화했습니다. CurrentDir=${DirectoryStr%%+(/)}
줄을 통해 문자열에 얼마나 많은 후행 슬래시가 존재하는지에 관계없이 문자열을 자릅니다.CurrentDir=${CurrentDir##*/}
줄을 통해 마지막/
앞의 모든 항목을 제거했습니다.- 방금
CurrentDir=${CurrentDir:-/}
줄을 통해 디렉터리 대소문자를 수정했습니다. - 마지막으로 디렉토리 폴더를 인쇄했습니다.
이 기사에서 사용된 모든 코드는 Bash로 작성되었습니다. Linux Shell 환경에서만 작동합니다.
Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.
LinkedIn