Linux
[bash] 쉘스크립트로 출력하기 (echo, printf 명령어)
lim
2021. 3. 14. 17:19
반응형
어떤 프로그램이든 시작은 "Hello world"를 화면에 출력하는 것으로 시작한다.
bash 쉘 스크립트로 "Hello world"를 화면에 띄우려면 어떻게 해야할까.
대표적으로 echo 명령어가 있다.
echo
문자열이나 변수를 출력하는 명령어.
출력시 자동적으로 줄바꿈 처리를 해줌
문자열 출력하기
1
2
3
4
5
6
|
#!/bin/bash
echo "Hello world"
### 출력
Hello world
|
cs |
변수 내용 출력하기
1
2
3
4
5
6
7
8
|
#!/bin/bash
name="lim"
org="dev"
echo name: ${name}, org: ${org}
###출력
name: lim, org: dev
|
cs |
변수 name과 org에 값을 할당하고 echo로 찍은 예제이다.
산술 연산 내용 출력하기
쉘명령어는 기본적으로 문자열 처리를 원칙으로 하기 때문에 아래와 같은 코드를 사용할 경우에 의도와는 다르게 동작할 수 이다.
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash
num1=3
num2=5
echo $num1 + $num2
###출력
3 + 5
|
cs |
만약 산술연산 결과인 8을 출력하고 싶었다면 let 명령어를 통해서 산술 연산을 수행해주어야 한다.
1
2
3
4
5
6
7
8
9
|
#!/bin/bash
num1=3
num2=5
let result=$num1+$num2
echo $result
###출력
8
|
cs |
printf
bash 쉘에서는 echo 명령외에 printf 명령어도 지원한다.
둘의 차이가 있다면 echo는 기본적으로 출력시 줄바꿈을 해주는데,
printf를 하지 않는다.
그 외에 printf는 다양한 형태의 자료형을 포애팅하여 출력해준다.
문자열 출력하기
1
2
3
4
5
6
7
8
|
#!/bin/bash
printf "Hello world"
printf "Bye"
### 출력
Hello WorldBye
|
cs |
줄바꿈을 지원하지 않기 때문에 두 문자열이 붙어서 출력된다.
변수 내용 출력하기
1
2
3
4
5
6
7
8
9
10
|
#!/bin/bash
var1="Hello World"
var2="Bye"
printf "${var1}\n${var2}"
###출력
Hello World
Bye
|
cs |
포맷터 사용하기
1 2 3 4 5 6 7 8 9 10 11 12 | #!/bin/bash name="lim" open=3 close=5 printf "%s's Open issues: %s\nClosed issues: %s\n" ${name} ${open} ${close} ### 출력 sun's Open issues: 3 Closed issues: 5 | cs |
반응형