본문 바로가기
TechNical/Unix

UNIX] 실행경로를 주의하자!!

by 강멍멍이 2011. 8. 1.
반응형

몇일전에 실행경로 때문에 개삽질을 했다..
정말 단순하고 어의 없는 실수지만 때때로 원인을 몰라서 방황하는 경우는 언제라도 생기기 마련이다.

기존의 pro c 프로그램을 수정해서 컴파일을 했다.
그런데 수정한대로 제대로 안 되는 느낌이 들었다.
그래서 로그를 찍었는데.. 로그도 안 찍히는 것이다!!!  ㅇ.ㅇ!!

정말정말정말 원인을 모르겠다.. 짜증이 머리 끝까지 치밀어 올랐는데..
능력자에게 자문을 구하니.. 의외로.. 바보같은 실수를 했구나.. 라는 것이 밝혀 졌다.

윈도우의 환경파일처럼 유닉스로 환경파일이 있다.
.profile 이나 .bashrc 같은 것 말이다..

여기에 보면 test/bin 이라는게 설정이 되어 있고 컴파일 한 파일의 실행 파일이 이 경로에 존재하고 있었다.
수정하고 컴파일한 파일은 test/src 밑에 생성이 되어 있었고..
test/src ] test 라고 실행을 하니... test/bin 에 있는 실행파일만 계속 실행을 한 꼴이다.

현재 경로의 파일을 실행하려면 ./ 를 붙여 줘야 한다.
실행 파일명이 myprog라고 한다면 아래와 같이 실행을 해야 현재 디렉토리에 있는 것이 실행된다.

test/src ] ./myprog

그런데 아래와 같이 계속 백날 해 봤자.. 수정되지 않는 프로그램만 줄기차게 호출한다.

test/src ] myprog

.. 할말이 없다.. ㅋ
./ 빼 먹은게 이런 삽질을 몰고 올 줄이야.. 누가 알았을랑가 ~_~

하지만 현재 디렉토리를 최초 검색해서 실행하게 하는 방법도 있다.
프로파일에 ./ 를 PATH의 제일 처음에 넣어 두면 된다.

그러나... 때로는 환경 설정을 함부로 건드려서는 안 되는 경우도 있다.
형상관리가 중요하지만.. 대대로 전수되어 내려 오는 시스템은 어디가 어떻게 되어 있는지 다 알 방법이 없다.
만에 하나 환경 설정을 고쳤을 경우 다른 프로그램에 어떠한 파급을 몰고 올지.. 상상도 못 하겠다.
크론에도 영향이 갈 수도 있고.. 뭐.. 머리 아프니 생각하기도 싫다. -_-

그냥.. 이 프로그램 실행할때 주의 해서 실행하는 수 밖에....
....... 위험을 감수하고 싶진 않다.
반응형

댓글