printf를 사용하여 변수 반복

printf를 사용하여 변수 반복

다음 명령을 사용하는 경우:

printf "%.0s┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃\n" {1..3}

나는 다음과 같은 결과를 얻습니다.

┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

동일한 결과를 얻기 위해 변수에서 중복 문자를 얻으려면 어떻게 해야 합니까?

나는 다음과 같은 접근 방식을 시도했습니다.

var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"
printf '%.0s%s\n' {1..3} "$var"

하지만 작동하지 않습니다. 결국 결과는 다음과 같습니다.

2
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

답변1

이것을 사용하십시오 :

$ var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"

$ printf "$var"'%.0s\n' {1..3}

┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃
┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃

답변2

var="┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃   ┃"
printf '%s\n' "$var" "$var" "$var"

관련 정보