경로 이름의 일부를 검색하여 변수에 할당하려면 어떻게 해야 합니까?

경로 이름의 일부를 검색하여 변수에 할당하려면 어떻게 해야 합니까?

현재 작업 디렉토리 경로 이름의 일부를 변수에 할당하고 이를 디렉토리 자체 내의 스크립트에서 사용하고 싶습니다.

예를 들어:

내 비밀번호가 다음과 같은 경우:

/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.

관련 정보