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
.