2017-11-16 7 views
-1

스크립트를 소싱 중이며 위치 매개 변수의 값이 스크립트가 소스 된 후에도 반영됩니다. bash에 관해서는스크립트를 소싱 한 후에 위치 매개 변수가 계속 나타나는 이유는 무엇입니까?

$ echo $1 

$ . $SCRIPTS_DIR/xeye.sh ryadqa 
Done 
$ echo $1 
ryadqa 
+1

왜 스크립트를 제공했기 때문에 사라지게되는데 ...? afaik – arco444

+0

다른 환경에서는 그렇지 않습니다. 위치 매개 변수는 스크립트를 기준으로합니다. 이것이 예상된다면 확실하지 않습니다. – summithere

+0

@summithere : 질문 * bash * 및 * ksh *에 태그를 지정했습니다. bash 또는 ksh에 대한 대답을 원하는지 여부를 명확히해야합니다. – user1934428

답변

0

는, 이것은 source 명령 설명 bash는 남자 페이지에서입니다 : 인수가 제공되는 경우

소스 파일 이름을 [인수] ..., 그들은 위치 매개 변수가 될 filename이 실행될 때. 그렇지 않으면 위치 매개 변수가 변경되지 않습니다.

(위치 지정 매개 변수는 소싱 스크립트의 컨텍스트에서 파일 소싱이 발생하기 때문에 소싱 스크립트의 매개 변수를 참조하십시오.)