run.sh다음과 같이 하나의 bash 소스 가 있습니다.
#!/bin/bash
if [ $# -ne 1 ]; then
exit
fi
...
두 가지 방법으로 실행하면 다른 동작이 있습니다. 첫 번째 방법은
source run.sh
실행 후 터미널을 닫습니다. 두 번째 방법은
./run.sh
이것은 단순히 스크립트 실행을 마치고 터미널에 남아 있습니다. bash 스크립트를 종료 source run.sh하고 ./run.sh실행 하는 명령이 있는지 묻습니다 . 나는 시도했지만 return제대로 ./run.sh실행 되지 않습니다 .
더 일반적으로, 나는 왜 이런 일이 일어나고 있는지, 그리고 "source"와 "."를 사용하는 것의 차이점에 관심이 있습니다. 스크립트 실행?
$- = *i*이 어떻게 작동 하는지에 대한 힌트 가 있습니까?