포트란 생기초 컴파일링 질문입니다.

soma8888의 이미지

레드햇 9.0 이구요 터미널에서

emacs sumation.for 이라 치고

프로그램을 짠뒤 저장했습니다.

f77 summation.for 이라 쳐서 컴파일하니

a.out 이 생겼습니다.

그런데, a.out 을 치면 다음과 같은 메세지가 뜹니다.

bash: a.out: command not found

포트란으로 숙제해야 되는데 이런데서 막히다니 너무 울고싶네요

알려주시면 감사하겠습니다.

s9204의 이미지

ㅋㅋ 제가 답변 달 기회가 오다니 기적입니다. :P

./a.out

익명 사용자의 이미지

s9204 wrote:
ㅋㅋ 제가 답변 달 기회가 오다니 기적입니다. :P

./a.out


읔 늦었다. :twisted:

첨언하자면, 유닉스(리눅스)에서는 대부분 실행경로(PATH)에 현재 디렉터리를
기본적으로 넣지 않습니다.보안상의 이유지요.
그래서, 현재 디렉터리("./")를 실행파일앞에 붙여서 실행합니다.

*보안상의 이유?
예를들어, 해커가 /tmp (아무 유저나 쓸수 있는 디렉터리)에 ls라는 이름으로
악성 실행프로그램을 저장해 두었다고 가정하고, root의 path에 현재 디렉터리가
들어있다고 가정하면(path의 순위에서 ". /"가 우선한다고 가정)
root는 /tmp 디렉터리에서 무심코 ls를 치는데, 이는 악성 코드를 실행하게되고,
그것도 루트권한으로 말입니다. 다음은 ..... :twisted:
그냥 해본소립니다.