![현재 디렉터리에서 프로그램을 실행할 때 "./"가 필요한 이유는 무엇입니까? [복사]](https://linux55.com/image/16691/%ED%98%84%EC%9E%AC%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EC%97%90%EC%84%9C%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%A4%ED%96%89%ED%95%A0%20%EB%95%8C%20%22.%2F%22%EA%B0%80%20%ED%95%84%EC%9A%94%ED%95%9C%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
이것은 불필요해 보이고 잠시 후에 짜증나는 일이 됩니다. 이를 변경할 수 있는 방법이 있습니까? 그렇지 않다면 누군가 그 이유를 설명할 수 있습니까?
감사해요!
답변1
현재 디렉터리가 경로에 있고 이전에 경로에 지정된 디렉터리에 동일한 이름을 가진 다른 실행 파일이 없는 경우에는 필요하지 않습니다. 이러한 조건 중 어느 것도 사실이 아닌 경우 ./는 사실상 "여기를 보십시오"를 의미합니다.
경로에 "."를 추가할 수 있지만 시스템 명령 이름과 일치하는 실행 파일이 있는 디렉터리에서 명령을 실행하면 예상치 못한(또는 악의적인) 결과가 발생할 수 있으므로 권장되지 않습니다.
답변2
현재 디렉터리가 경로에 없으면 이 작업을 수행하십시오. 루트 또는 sudoer로 로그인한 경우 현재 디렉터리를 경로에 추가하지 않는 것이 좋습니다. 참으세요./
원하는 경우 이라는 디렉터리를 만들 수 있습니다 bin
. 그런 다음 이 디렉터리를 검색 경로에 추가하세요. 이것은 일반적인 관리 스크립트를 넣기에 좋은 장소입니다.
답변3
sh yourprogram.sh
or 를 사용하여 프로그램을 실행하는 것보다 훨씬 쉽지 않습니까 python yourprogram.py
?