Bash 기법: 여러 문자열 변 수 를 처리 하 는 매개 변수 확장 식 을 실례 로 소개 합 니 다.
bash 에서
filepath=example/subdir/testfile.txt
이라는 변 수 를 정의 했다 고 가정 하면 아래 의 매개 변수 확장 을 사용 하여 값 을 얻 을 수 있 습 니 다.${filepath}
filepath 변수의 값 을 가 져 옵 니 다.예 를 들 어 echo ${filepath} 명령 인쇄 결 과 는 example/subdir/testfile. txt 입 니 다.${#filepath}
filepath 변수 값 의 문자 갯 수, 즉 문자열 길이 입 니 다.예 를 들 어 echo ${\# filepath} 명령 이 인쇄 된 결 과 는 27 입 니 다.${filepath:4:3}
filepath 변수 값 으로 시작 하 는 네 번 째 문자 부터 세 글 자 를 가 져 와 키 문자열 을 얻 습 니 다.예 를 들 어 echo ${filepath:4:3}
명령 인쇄 결 과 는 ple 입 니 다.주 의 는 시작 하 는 0 번 째 문자 부터 세 는 것 입 니 다.이 표현 식 의 형식 은 ${parameter: offset: length} 입 니 다. offset 는 어느 위치 에서 문 자 를 가 져 올 지 지정 합 니 다. length 는 몇 개의 문 자 를 가 져 올 지 지정 합 니 다.${filepath: -3:3}
filepath 변수 값 의 마지막 세 번 째 문자 부터 세 글 자 를 가 져 와 하위 문자열 을 얻 습 니 다.예 를 들 어 echo ${filepath: - 3: 3} 명령 인쇄 결 과 는 txt 입 니 다.음수 의 offset 은 역수 의 편 이 값 을 나타 낸다.콜론 과 마이너스 사이 에 빈 칸 을 넣 어야 한다.주 의 는 끝의 첫 번 째 문자 부터 앞으로 세 는 것 입 니 다.${filepath#*/}
filepath 변수 값 에서 처음부터 주어진 */
모드 와 일치 합 니 다. 첫 번 째 일치 하 는 모드 를 삭제 하고 나머지 내용 을 되 돌려 줍 니 다.시작 에 있 는 임의의 문자열 과 일치 하 는 *
어댑터 를 사용 합 니 다.예 를 들 어 echo ${filepath#*/}
인쇄 결 과 는 subdir/testfile. txt 입 니 다.이 표현 식 의 형식 은 ${parameter#word}
입 니 다. parameter 변수 값 에서 가장 짧 은 워드 와 일치 하 는 접두사 부분 을 삭제 합 니 다.${filepath##*/}
filepath 변수 값 에서 처음부터 주어진 */
모드 와 일치 합 니 다. 마지막 일치 하 는 모드 까지 삭제 하고 나머지 내용 을 되 돌려 줍 니 다.시작 에 있 는 임의의 문자열 과 일치 하 는 *
어댑터 를 사용 합 니 다.예 를 들 어 echo ${filepath##*/}
인쇄 결 과 는 testfile. txt 이다.이 표현 식 의 형식 은 ${parameter\# 워드} 입 니 다. parameter 변수 값 에서 워드 와 가장 긴 접 두 사 를 삭제 합 니 다.${filepath%/*}
filepath 변수 값 에서 마지막 에서 주어진 /*
모드 와 일치 합 니 다. 첫 번 째 일치 하 는 모드 를 삭제 하고 앞 에 남 은 내용 을 되 돌려 줍 니 다.끝 에 있 는 임의의 문자열 과 일치 하 는 *
어댑터 를 사용 합 니 다.예 를 들 어 echo ${filepath%/*}
인쇄 결 과 는 example/subdir 입 니 다.이 표현 식 의 형식 은 ${parameter% word} 입 니 다. parameter 변수 값 에서 가장 짧 은 워드 와 일치 하 는 접미사 부분 을 삭제 합 니 다.${filepath%%/*}
filepath 변수 값 에서 마지막 에서 주어진 /*
모드 와 일치 하 는 이 모드 를 마지막 일치 하 는 모드 로 삭제 하고 남 은 내용 을 되 돌려 줍 니 다.끝 에 있 는 임의의 문자열 과 일치 하 는 *
어댑터 를 사용 합 니 다.예 를 들 어 echo ${filepath%%/*}
인쇄 결 과 는 example 이다.이 표현 식 의 형식 은 ${parameter% 워드} 입 니 다. parameter 변수 값 에서 워드 와 일치 하 는 가장 긴 접 두 사 를 삭제 합 니 다.${filepath/[et]/M}
filepath 변수 값 에서 첫 번 째 로 일치 하 는 소문 자 e, 또는 소문 자 t 를 대문자 M 으로 교체 합 니 다.소문 자 e 나 소문 자 t 와 일치 하 는 경로 명 확장 을 사용 합 니 다.이 표현 식 의 형식 은 [et]
pattern 과 일치 하 는 문자열 을 string 문자열 로 바 꾸 는 것 입 니 다.첫 번 째 일치 하 는 패턴 문자열 만 바 꿉 니 다.이 모드 문자열 은 변수 값 의 시작, 중간, 끝 부분 에 있 습 니 다.예 를 들 어 echo ${filepath/[et]/M} 인쇄 결 과 는 Mxample/subdir/testfile. txt 입 니 다.${parameter/pattern/string}
filepath 변수 값 에서 일치 하 는 소문 자 e 또는 소문 자 t 를 대문자 M 으로 교체 합 니 다.소문 자 e 나 소문 자 t 와 일치 하 는 확장 ${filepath//[et]/M}
을 사용 합 니 다.pattern 모드 문자열 을 문자 '/' 로 시작 하여 일치 하 는 모든 문자열 을 바 꾸 는 것 을 표시 합 니 다.예 를 들 어 echo ${filepath//[et]/M} 인쇄 결 과 는 MxamplM/subdir/MsMfilm. MxM 입 니 다.[et]
filepath 변수 값 에서 일치 하 는 subdir 문자열 을 삭제 합 니 다.예 를 들 어 ${filepath/subdir}
인쇄 결 과 는 example/testfile. txt 입 니 다.이 표현 식 은 바 뀐 문자열 을 제공 하지 않 았 습 니 다. 일치 하 는 문자열 을 삭제 하 는 것 을 의미 합 니 다.echo ${filepath/subdir}
일치 하 는 접두사 만 삭제 할 수 있 습 니 다.${parameter#word}
일치 하 는 접미사 만 삭제 할 수 있 습 니 다.${parameter/pattern} 은 중간 위 치 를 포함 하여 임의의 위치의 일치 하 는 문자열 을 삭제 할 수 있 습 니 다.${parameter%word}
filepath 변수 값 의 모든 문 자 를 대문자 로 변환 합 니 다.예 를 들 어 ${filepath^^}
인쇄 결 과 는 EXAMPLE/SUBDIR/TESTFILE. TXT 이다.이 표현 식 의 형식 은 ${parameter ^ pattern} 입 니 다. parameter 변수 값 에서 pattern 모드 와 일치 하 는 모든 소문 자 를 대문자 로 변환 합 니 다.pattern 모드 를 제공 하지 않 으 면 임의의 문자 와 일치 합 니 다.echo ${filepath^^}
filepath 변수 값 의 모든 문 자 를 소문 자로 변환 합 니 다.예 를 들 어 ${filepath,,}
인쇄 결 과 는 example/subdir/testfile. txt 입 니 다.이 표현 식 의 형식 은 ${parameter, pattern} 입 니 다. parameter 변수 값 에서 pattern 모드 와 일치 하 는 모든 대문자 자 모 를 소문 자로 변환 합 니 다.pattern 모드 를 제공 하지 않 으 면 임의의 문자 와 일치 합 니 다.echo ${filepath,,}
filepath 변수 값 의 첫 번 째 문 자 를 대문자 로 바 꿉 니 다.예 를 들 어 ${filepath^}
인쇄 결 과 는 Example/subdir/testfile. txt 입 니 다.이 표현 식 의 형식 은 ${parameter ^ pattern} 입 니 다. pattern 모드 와 일치 하 는 parameter 변수 값 의 첫 번 째 문 자 를 대문자 로 바 꿉 니 다.pattern 모드 를 제공 하지 않 으 면 임의의 단일 문자 와 일치 합 니 다.echo ${filepath^}
filepath 변수 값 의 첫 번 째 문 자 를 소문 자로 변환 합 니 다.예 를 들 어 ${filepath,}
인쇄 결 과 는 example/subdir/testfile. txt 입 니 다.이 표현 식 의 형식 은 ${parameter, pattern} 입 니 다. pattern 모드 와 일치 하 는 parameter 변수 값 의 첫 번 째 문 자 를 소문 자로 변환 합 니 다.pattern 모드 를 제공 하지 않 으 면 임의의 단일 문자 와 일치 합 니 다.위의 내용 은 여러 문자열 변수 값 과 관련 된 확장 표현 식 을 종합 적 으로 설명 하여 통일 적 으로 수집 하고 조회 할 수 있 습 니 다.
이러한 확장 식 에 대한 상세 한 설명 과 더 많은 테스트 예 는 제 앞의 세 편의 'Bash 기법: 매개 변수 확장 사용' 으로 시작 하 는 글 을 볼 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.