강좌 & 팁
프로그램의 실행 결과라 하면 참 애매 하긴 합니다.
여기서 프로그램의 실행 결과는 프로그램 내에서 printf 를 통해 출력 되는 값을 말하며,
콘솔에서 실행하면 텍스트 형태로 화면에 보여지는 값들을 말 합니다.
리눅스는 이런 출력 값들을 상당히 유연하게 사용할 수 있습니다.
예를 들어.
abcd1234 라는 결과 값을 출력 하는 a 라는 프로그램이 있다고 가정 하겠습니다.
이 프로그램을 실행 하면 아래와 같이 보여 집니다.
-----------------------------------------
]#./a
abcd1234
]#
-----------------------------------------
이 결과 값인 abcd1234 는 지금 터미널로 출력이 되었을 뿐 어디 저장된 형태는 아닙니다.
일반적으로 생각 할때 프로그램에서 이 결과를 파일로 저장하고 싶다면, a 라는 프로그램 안에서
파일 입출력 함수를 통해 저장해야 할 것 입니다.
하지만 리눅스 에서는 아래와 같이 하면된다.
1. 먼저 결과 값을 저장할 파일을 하나 만들어 둡니다.
-----------------------------------------
]#touch out.log
]#chmod 777 out.log
-----------------------------------------
2. a 라는 프로그램을 실행 할때 아래와 같이 합니다.
-----------------------------------------
]#./a >> out.log
-----------------------------------------
그럼 결과 값은 콘솔로 출력 되지 않고 out.log 로 출력되어 저장 됩니다.
간단히 run.sh 을 하나 만들어 그 안에
-----------------------------------------
#!/bin/sh
./a >> out.log
-----------------------------------------
이렇게 만들고
-----------------------------------------
./run.sh
-----------------------------------------
로 실행 해도 됩니다.
리눅스는 윈도우처럼 프로그램 하나에서 다 끝내는 식이 아니고, 간단한 기능을 하는 각각의 프로그램들을
이용해 결과값을 서로 주고 받으며 실행 하는구조를 갖는다는걸 생각 하면 응용이 쉬워 집니다.
이런 형태의 스크립트와 저장로그를 어디다가 쓸까 싶지만, 부팅 직후에 리부팅된 시간을 저장 한다거나
프로그램이 실행되다가 어떤 특이사항이 생겼을때 로그를 남기는 간단한 방법으로 활용 할 수 있습니다.