티스토리 뷰

리눅스의 실행프로세스의 환경변수는 /proc 파일시스템을 통해서 알 수 있다. 예를 들어 pid 1000번의 환경변수는 


cat /proc/1000/environ


로 확인 할 수 있다. 하지만, 이 결과는 변수간 구분이 잘 확인이 안된다. 변수간 구분을 '\0'으로 분리시켜 놓았기 때문이다. 실제 프로세스 메모리에서도 '\0'으로 구분되어 있고 이를 그대로 화면에 출력하는 것이다. 다음을 보자.


cat /proc/1000/environ | xargs -0 -n 1 echo


xargs 는 표준 입력을 명령의 argument로 전달해 실행해주는 함수인데, 이때 기본값은 공백을 사용하여 표준입력을 분리한다. 하지만 위와 같이 '-0' (zero) 옵션을 주면 구분자를 '\0'으로 하라는 뜻이며, '-n 1' 을 주어 하나의 인자마다 하나의 명령을 실행(여기서는 echo)하라는 의미가 된다.


사족으로 xargs의 -0 옵션은 find 의 -print0 옵션과 같이 사용하여 출력결과를 실행시에 적절하게 처리하는데 사용한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함