posted by 귀염둥이채원 2021. 4. 8. 21:00

* 표준출력 : shell에서 실행시 정상 종료시의 메시지로 화면에 출력됨, 파일 디스크립터는 1번
* 표준에러 : shell에서 실행시 발생한 에러 메시지로 화면에 출력됨. 파일 디스크립터는 2번
* /dev/ull : 출력이 파기되어, 아무것도 출력이 되지 않음. (쓰레기통으로 표현됨)
* 2>&1 : 2(표준에러)를 1(표준출력)으로 보내기
* >/dev/null 2>&1 : 앞에 1이 생략 (1>/dev/null 2>&1) → 표준출력,표준에러 다 버려라.

# error.sh

#!/bin/bash

echo "About to try to access a file that doesn't exist"
cat bad-filename.txt


# stdout 및 stderr 모두 리디렉션
./error.sh 1> capture.txt 2> error.txt

# stdout 및 stderr을 동일한 파일로 리디렉션
./error.sh > capture.txt 2&>1


# exam.py

!/usr/bin/env python

import sys

sys.stdout.write("stdout")
sys.stderr.write("stderr")


# stdout을 파일로 redirect
$ ./exam.py > test.txt

# stderr을 refirect하고, stdout만 화면 표시
./exam.py 2> test.txt

# stdout 과 stderr 둘다 파일로 저장
./exam.py 2&> test.txt

# stdout 과 stderr 둘다 화면과 파일로 동시에 redirect
./exam.py 2>&1 | tee test.txt


# 참고사이트
https://stackoverflow.com/questions/637827/redirect-stderr-and-stdout-in-bash

posted by 귀염둥이채원 2021. 4. 8. 20:42

리눅스에서 cat <<EOF에 대해 정리한다.
* Bash 쉘에서 HEREDOC 구문의 전형적인 형식
* 쉘스크립트에서 명령어를 help
* 직접 입력한 텍스트를 파일로 저장시 사용
* 주로 시작 및 종료를 알리는 키워드로 EOF(End of File) 사용하지만 다른것을 사용해도 된다.

# cat을 이용해 여러 줄을 입력하는 방법

$ sql=$(cat <<EOF
SELECT foo, bar FROM db
WHERE foo='baz'
EOF
)

$ echo $sql
SELECT foo, bar FROM db WHERE foo='baz'


# cat을 이용해 여러 줄을 파일(print.sh)로 저장

$ cat <<EOF > print.sh
#!/bin/bash
echo \$PWD
echo $PWD
EOF

$ cat print.sh
#!/bin/bash
echo $PWD
echo /root


# 쉘스크립트에서 print_usage에 사용하기

$ cat test.sh
function print_usage {
cat << EOF
>> Usage: ${0} <name> <date>
Required Arguments:
- name: set name
- date: set date
EOF
}

if [ $# -lt 2 ]; then
print_usage
exit 1
fi

$ ./test.sh kim
>> Usage: ./test.sh <name> <date>
Required Arguments:
- name: set name
- date: set date



# 참고사이트
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_cat_%E2%89%AAEOF
https://twpower.github.io/142-use-cat-for-multiline-stdin
https://stackoverflow.com/questions/2500436/how-does-cat-eof-work-in-bash

posted by 귀염둥이채원 2019. 7. 27. 00:47


그것이 알고싶다[1178회] 아내의 비밀과 거짓말 

- 고유정은 왜 살인범이 되었나?


고유영 체포 영상

고유정 현남편 의붓아들 사건 진실

그것이 알고싶다 고유정

고유정 사건 집중 분석


27일 방송되는 SBS 그것이 알고싶다에서

김상중은 고유정 편 녹화를 마치고 

"다뤘던 사건 중 가장 충격적"이라며 

한동안 대기실을 떠나지 

못한 것으로 전해졌다.


그것이 알고싶다 제작진은 

고유정 편 제작을 위해 

고유정의 현 남편을 고유정과 

함께 살던 집에서 만났다.


제작진에 따르면 고유정은 

귀신을 쫓는다는 목적으로 

팥과 소금을 가방에 넣고 다녔다. 


집 안에는 의붓아들이 사망할 

당시 누워있던 침대와 

혈흔도 남아 있었다.


전 남편 살해를 인정한 

고유정은 의붓아들은 

죽이지 않았다고 주장하고 있다. 


하지만 현 남편은 아들 사망 사건과 

관련해 "당시에는 몰랐지만 

돌이켜보면 모든 게 고유정의 

계획 같다"고 말했다. 


그는 "아들 사망 전날 밤 

고유정과 차를 마시고 

깊은 잠에 들었던 것으로 

보아 자신도 졸피뎀을 

먹은 게 아닌지 의심된다"

고 주장했습니다. 


제작진은 잠복 중이던 

경찰이 고유정을 체포할 

당시 모습이 찍힌 영상을 

구했다고 전했다. 


제작진에 따르면 체포 당시 

고유정은 손에 붕대를 감고 

쓰레기를 버리다 

"살인죄로 긴급 체포하겠다"는 

경찰의 말에 

"왜요? 제가 다 안 했는데…"라는 

대답을 한 것으로 전해졌다.



'그것이 알고 싶다'는 

전 국민을 충격에 빠트린 

고유정 사건의 전말을 통해 

엽기적인 범행 속에 감춰진 

고유정의 진짜 모습은 

무엇이지 조명한다. 


또한 그가 살인을 저지른 

범행동기가 무엇인지 

집중적으로 파헤친다. 


7월 27일 밤 11시10분 

그것이 알고싶다[1178회] 아내의 비밀과 거짓말 

- 고유정은 왜 살인범이 되었나?