에코 출력 사이에 빈 줄을 두는 방법은 무엇입니까?

에코 출력 사이에 빈 줄을 두는 방법은 무엇입니까?

bash 스크립트를 실행하고 각 에코 사이에 공백을 넣고 싶습니다. 현재 나는 이렇게 합니다:

#!/bin/bash
echo
echo 'foo'
echo
echo 'bar'

산출

foo

bar

하지만 그다지 전문적이지는 않은 것 같습니다. 이렇게 해봤는데 첫줄 공백이 두배로 늘어나네요

echo -e '\n'
echo -e 'foo\n'
echo -e 'bar\n'

첫 번째 줄을 수정하려면 다음을 입력합니다.

echo -e ''

다른 방법이 있나요?

답변1

형식화된 출력을 원한다면 운이 좋을 수도 있습니다 printf.

$ printf "\n%s\n\n%s\n" "foo" "bar"

foo

bar
$

나는 이것을 C 함수로 생각하는 경향이 있지만 printf아래 설명에서 @freddy가 제안한 것처럼 다음과 같이 단순화할 수 있습니다.

$ printf "\n%s\n" "foo" "bar"

foo

bar

( man zshbuiltins그러나 이것은 구현에서 일반적이라고 생각합니다):

If arguments remain unused after formatting, the format string
is reused until all arguments have been consumed.

답변2

?

echo -e "\nfoo"
echo -e "\nbar"

답변3

#function out() {
#    echo
#    echo $*
#}

# or

function out() {
    echo -e '\n'"$*"
}

out foo
out bar

이 답변을 다른 관련 답변과 결합하는 것도 고려해 보십시오 printf.

관련 정보