Bash Shell - 문자열 출력 방법(echo, printf)

Bash 쉘 스크립트에서 echo와 printf로 문자열을 출력할 수 있습니다.

예제와 함께 문자열 출력 방법을 알아보겠습니다.

  • echo : 문자열 출력
  • printf : 문자열 formatting 및 출력

1. echo : 문자열 출력

echo는 문자열 및 변수를 화면에 출력합니다.

1.1 문자열 출력

아래와 같이 문자열을 직접 출력하거나 변수의 내용을 출력할 수 있습니다.

#!/bin/bash

echo "Hello, world"

str="Hello, Bash"
echo $str

Output:

$ bash example.sh
Hello, world
Hello, Bash

1.2 문자열과 변수 내용 함께 출력

아래와 같이 문자열 사이에 변수의 문자열을 조합하여 함께 출력할 수 있습니다.

#!/bin/bash

str1="Hello"
str2="Bash"

echo "str1=${str1}, str2=${str2}"

Output:

$ bash example.sh
str1=Hello, str2=Bash

2. printf : 문자열 formatting 및 출력

printf는 문자열 포맷팅을 사용하여 화면에 문자열을 출력할 수 있습니다.

2.1 문자열 출력

echo처럼 직접 문자열을 출력하거나 변수의 값을 출력할 수 있습니다.

#!/bin/bash

printf "Hello, Bash\n"

str="Hello, Bash\n"
printf "$str"

Output:

$ bash example.sh
Hello, Bash
Hello, Bash

2.2 문자열 formatting

printf는 문자열 formatting을 지원하며, 아래와 같이 어떤 형식에 변수의 내용을 조합하여 출력할 수 있습니다.

#!/bin/bash

str="Hello, Bash"

printf "{%s}\n" "$str"

Output:

$ bash example.sh
{Hello, Bash}

포맷이 인자 2개를 받는 경우

아래와 같이 포맷이 2개의 인자를 받을 때는, 2개의 변수를 인자로 전달하면 됩니다. 또한, \t(tab) 같은 표현도 사용 가능합니다.

printf "[%s\t%s]\n" "First" "Second"

Output:

$ bash example.sh
[First	Second]

포맷이 인자 1개를 받고, 여러 인자가 전달되는 경우

아래와 같이 포맷은 1개의 변수를 받는데, 2개 이상의 변수가 인자로 전달되면, 각각의 인자에 대해서 문자열이 만들어지고 출력됩니다.

#!/bin/bash

str="Hello, Bash"
str2="Hello printf"

printf "{%s}\n" "$str" "$str2" "Hello!"

Output:

$ bash example.sh
{Hello, Bash}
{Hello printf}
{Hello!}

2.3 실수 출력

$.1f, $.2f처럼 실수의 소수점 자리수를 표현하는 포맷팅도 지원합니다.

#!/bin/bash

printf "%.1f\n" 255 0xff 3.5

Output:

$ bash example.sh
255.0
255.0
3.5
Loading script...
codechachaCopyright ©2019 codechacha