쉘 스크립트의 변수에서 특정 텍스트 추출

쉘 스크립트의 변수에서 특정 텍스트 추출

변수가 2개 있어요

VAL1="C70AN"
VAL2="MBA30"

내 시스템에 디렉터리가 있습니다./opt/web/C70/MBA/

변수를 사용하여 해당 디렉토리에 들어가는 방법

예를 들어cd /opt/web/$VAL1/$VAL2

쉘 스크립트의 변수에서 특정 텍스트를 추출하는 방법은 무엇입니까?

답변1

@Anthon의 답변은 완전히 정확하지만 제 생각에는 너무 많은 타이핑을 의미합니다. 예를 들어 "mycd"라는 쉘(bash) 함수를 래퍼로 정의하는 것이 좋습니다.

function mycd {
  cd /opt/web/${VAL1:0:3}/${VAL2:0:3}
}

이제 이 함수를 호출하면 $VAR1 및 $VAR1 변수의 현재 값에 관계없이 디렉터리가 예상 위치로 변경됩니다.

실행 중인 bash 터미널에서 각 입력 줄 창 끝에서 Enter 키를 눌러 다음 예를 시도해 보세요.

user% cd; pwd
/home/user
user% function mycd { cd /opt/web/${VAL1:0:3}/${VAL2:0:3} }
user% export VAL1="C70AN"; export VAL2="MBA30"
user% mycd
user% pwd
/opt/web/C70/MBA
user%

물론 이 예가 작동하려면 "/opt/web/C70/MBA" 디렉토리 트리가 필요합니다. 그렇지 않은 경우 다음과 유사한 오류 메시지가 표시됩니다.

bash: cd: /opt/web/C70/MBA: file or directory not found

이 결과는 (아직) 존재하지 않는 계산된 디렉터리로 변경을 시도하기 때문에 "mycd" 기능이 올바르게 작동하고 있음을 여전히 증명합니다.

HTH도 있습니다

관련 정보