bash 함수에서 여러 줄 변수를 한 줄씩 처리합니다.

bash 함수에서 여러 줄 변수를 한 줄씩 처리합니다.

Bash 함수에서 여러 줄 변수를 처리할 수 있나요? 함수가 있고 theone그 함수에 여러 줄 변수를 전달한다고 가정해 보겠습니다.

var="
This
is a 
multiline
variable"

theone "$var"

또는를 var사용하지 않고 특정 일치 패턴을 기반으로 특정 선에 색상을 지정 하고 싶습니다 .awksed

답변1

우선:

#!/bin/bash

theone() {
    printf -- '%s\n' "$var" | while IFS= read -r line; do
        tput setaf $((++c))
        echo "$line"
        ((c==8)) && c=0
    done
    tput sgr0
}

theone "$var"

여기에 이미지 설명을 입력하세요.

관련 정보