bash string operation & pattern match
표현 | 의미 |
${#valiable} | valiable의 길이 반환 |
${variable#pattern} | pattern이 variable의 앞부분이 일치하면 가장 짧은 부분을 제거하고 나머지를 반환 |
${variable##pattern} | pattern이 variable의 앞부분과 일치하면 가장 긴 부분을 제거하고나머지를 반환 |
${variable%pattern} | pattern이 variable의 뒷부분과 일치하면 가장 짧은 부분을 제거하고나머지를 반환 |
${variable%%pattern} | pattern이 variable의 뒷부분과 일치하면 가장 긴 부분을 제거하고나머지를 반환 |
${variable/pattern/string} | 일치하는 가장 긴 부분을 string으로 대체, 한번 |
${variable//pattern/string} | 일치하는 가장 긴 부분을 string으로 대체, 전체 |
표현 | 의미 |
${varname:-word} | varname이 존재하고 null이 아니면 그 값을 반환, 아니면 word 반환 |
${varname:+word} | varname이 존재하고 null이 아니면 word를 반환, 아니면 null을 반환 |
${varname:=word} | varname이 존재하고 null이 아니면 그 값을 반환, 아니면 word 반환 varname에 word로 대체 |
${varname:?message} | varname이 존재하고 null이 아니면 그 값을 반환, 아니면 varname을 출력하고 message를 출력 (Error) |
${string:position} | string의 처음에서 position만큼 제거후 나머지 반환 |
${string:position:length} | string의 처음에서 position만큼 제거후 length만큼 반환 |