![경로 이름의 일부를 검색하여 변수에 할당하려면 어떻게 해야 합니까?](https://linux55.com/image/106908/%EA%B2%BD%EB%A1%9C%20%EC%9D%B4%EB%A6%84%EC%9D%98%20%EC%9D%BC%EB%B6%80%EB%A5%BC%20%EA%B2%80%EC%83%89%ED%95%98%EC%97%AC%20%EB%B3%80%EC%88%98%EC%97%90%20%ED%95%A0%EB%8B%B9%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.png)
현재 작업 디렉토리 경로 이름의 일부를 변수에 할당하고 이를 디렉토리 자체 내의 스크립트에서 사용하고 싶습니다.
예를 들어:
내 비밀번호가 다음과 같은 경우:
/home/desktop/project/ABC/abc/abc_123, $PROJECT_NAME과 같은 변수에 ABC를 할당하는 명령이 있습니까?
나는 노력했다디렉토리 이름, 하지만 다시 돌아올 것 같습니다'.' 입력 'pwd'의 경우 어쨌든 dirname이 반환해야 하는 것보다 한 단계 뒤에 있어야 합니다.
답변1
다음 마크업을 사용하므로 tcsh
:
set project = $cwd:h:h:t:q
$project
현재 디렉터리의 헤드(또는 디렉터리 이름의 기본 이름)의 꼬리에 설정됩니다 .:q
인용 부호생성된 텍스트이므로 추가 확장(예: 분할 또는 와일드카드 지정)이 수행되지 않습니다.
pwd
현재 작업 디렉터리를 인쇄하는 명령입니다. 이 명령은 내장되어 있지 않습니다 tcsh
. 현재 작업 디렉토리는 (놀랍지도 않게, 또는 적어도 ksh
's'와 비교하여 $PWD
) $cwd
의 변수 에 있습니다 tcsh
.