C로 작성한 프로그램을 컴파일한후 실행할경우 ./aaaa로 명령을 주어야 실행 되는데 ./ 없이 그냥 aaaa의 명령어만 주어도 실행되게 할려면 어떻게 해야 하나요?
이건 프로그램 상에서 조치를 해주어야 하는지 아니면 컴파일할때 특별한 무슨 옵션이 있는지 알고 싶습니다. 도움 주시면 감사하겠습니다.
유닉스 상에서 파일을 그런 방식으로 실행 시키기 위해서는.. 실행 권한을 부여해야 합니다.
윈도우즈나 DOS는 현재 디렉토리에서 먼저 실행파일을 찾고난 후에 PATH에 등록되어 있는 디렉토리 순으로 실행파일을 찾습니다. 하지만 유닉스 계열에서는 기본적으로 현재 디렉토리가 PATH에 잡혀있지 않으면 파일명만으로는 실행시킬 수 없습니다.
export PATH=.:$PATH
명령을 내린 후에 실행시켜 보세요.
-----http://monpetit.posterous.com/http://monpetit.tistory.com/
그리고 그런 방식에 익숙해 지셔야 합니다.
Unix 와 Unix like system 들은 실행파일을 실행할때 실행파일을 찾을 디렉토리 목록을 PATH 라는 환경변수를 통해 유지합니다.
그런데 이 PATH에 현재 디렉토리(.)를 넣어주시면 님의 현재 디렉토리의 위치에 따라 엉뚱한 프로그램이 실행 될 수 있습니다. 때에 따라 악의적인 프로그램이 실행될 수 도 있는거구요.
따라서 PATH 에 . 를 넣지 마시고 ./foo 방식에 익숙해 지시는게 바람직한 길이라고 생각 되어집니다.
답변 주신분들 감사합니다. 도와주신 덕분에 많은 공부도 되고 문제도 잘 해결 되엇습니다. 다시한번 감사드립니다.
살며 그리고 사랑하며... 정보는 공유할때 그 가치가 있는것..... 나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
그건 컴파일러 문제가 아니라...
유닉스 상에서 파일을 그런 방식으로 실행 시키기 위해서는..
실행 권한을 부여해야 합니다.
실행할 수 있는 PATH의 문제입니다.
윈도우즈나 DOS는 현재 디렉토리에서 먼저 실행파일을 찾고난 후에 PATH에 등록되어 있는 디렉토리 순으로 실행파일을 찾습니다.
하지만 유닉스 계열에서는 기본적으로 현재 디렉토리가 PATH에 잡혀있지 않으면 파일명만으로는 실행시킬 수 없습니다.
export PATH=.:$PATH
명령을 내린 후에 실행시켜 보세요.
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
그냥 ./aaaa 로 실행하시는게 좋습니다
그리고 그런 방식에 익숙해 지셔야 합니다.
Unix 와 Unix like system 들은 실행파일을 실행할때 실행파일을 찾을 디렉토리 목록을
PATH 라는 환경변수를 통해 유지합니다.
그런데 이 PATH에 현재 디렉토리(.)를 넣어주시면 님의 현재 디렉토리의 위치에 따라 엉뚱한 프로그램이 실행
될 수 있습니다. 때에 따라 악의적인 프로그램이 실행될 수 도 있는거구요.
따라서 PATH 에 . 를 넣지 마시고 ./foo 방식에 익숙해 지시는게 바람직한 길이라고 생각 되어집니다.
답변해 주신분들 감사그립니다.
답변 주신분들 감사합니다.
도와주신 덕분에 많은 공부도 되고 문제도 잘 해결 되엇습니다.
다시한번 감사드립니다.
살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.
살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.
댓글 달기