파일 이름과의 차이점. macOS 터미널의 파일 이름


3

나는 MacOS에 초보자입니다. (저는 Mac OS high sierra 10.13.6을 사용하고 있습니다) 소프트웨어를 설치했습니다. 그들은 소프트웨어를

. /path/setsas.sh

나는 아무 생각도하지 않는다. 그리고 공간, 그래서 나는 단지 달렸다.

경로 / setsas.sh

그것은 실행하는 것 같았지만, 그 후 나는 소프트웨어의 명령을 실행할 수 없습니다. 나는 명령을 그대로 실행해야한다는 것을 알았고 그 후에는 괜찮 았습니다. 그럼이게 뭐지? 그리고 공간 의미는 여기에, 그리고 비록 내가 파일을 실행하는 것처럼 보였지만 처음에는 어떤 명령도 실행할 수 없었던 이유를 추측 할 수 있습니까? 나는 그것을 안다. 때때로 현재 폴더를 의미하지만,이 경우에는 보이지 않습니다.


실행을 시도 했습니까? . /path/setsas 실수를 깨달은 후에?
IconDaemon

1
유닉스 커맨드 라인을 사용할 때 구두점과 공백과 같은 것들 문제 . 이해하지 못하면 변경하지 마십시오.
Gordon Davisson

답변:


3

. /path/setsas.sh 스크립트에서 현재 셸 세션으로 변수 및 함수를로드합니다. 달리기와 동일합니다. source /path/setsas.sh. 달리는 path/setsas.sh 다른 한편으로는 새로운 프로세스를 생성합니다. 변수 및 함수는 현재 쉘에서 액세스 할 수 없습니다. 그래서 명령이 효과가 없었습니다.


-2

"단순히 명령을 입력하면"OS / X (Unix / Linux와 마찬가지)는 $PATH 환경 변수를 사용하여 위치를 지정하십시오. 수색 한 찾으려면 - 내장 된 bash / shell 명령이 아니면.

지정한 경우 ./command, 그것은 명백한 참조입니다. 특정 파일 특정 디렉토리에서 - "현재 '하나." $PATH 이 명령은 사용되지 않으며 명령은 "기본 제공 (built-in)"으로 간주되지 않습니다.

마찬가지로, ~/command 명시 적 참조이며, 이번에는 "~" "내 홈 디렉토리"의 바로 가기로 다시 한번, $PATH 사용되지 않습니다.

(Unrelated ...) 그만큼 source shell-command는 파일에 대한 특정 참조가 필요하며 쉘은 해당 파일의 모든 명령을 읽고 실행합니다. (예를 들어, "bash profile"파일을 변경하고 다시 로그인하지 않고 통합하려는 경우, 이것이 한 가지 방법입니다.)


뒤에 공백을 적어 둡니다. . 질문에. 이 문제는 경로와 관련이 없지만 다른 대답과 마찬가지로 파일을 소싱합니다.
Mark
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.