변수가 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도 있습니다