셸 import
텍스트 파일을 import 하여 실행하는 것과 쉘 스크립트를 fork 하여 실행하는 것의 차이
a.sh
echo $A
쉘 스크립트를 실행
쉘이 자식 프로세스를 생성(fork)하여 스크립트를 실행
실행권한이 없으면 실행되지 않음
ubuntu:~$ chmod 644 a.sh ubuntu:~$ ./a.sh ./a.sh: Permission denied
실행권한(755)를 주면 실행됨.
export 로 변수를 자식프로세스에 전달하지 않았기 때문에 아무것도 출력되지 않음
alias 후
ubuntu:~$ chmod 755 a.sh ubuntu:~$ A=abc ubuntu:~$ ./a.sh # 아무것도 출력되지 않음 (빈 줄을 출력)
텍스트 파일을 import 하여 실행
셸이 텍스트 파일을 읽어서 현재 프로세스에서 실행
명령줄이 현재 프로세스에서 실행되기 때문에 위와 달리 일반변수가 출력됨
ubuntu:~$ chmod 644 a.sh ubuntu:~$ A=abc ubuntu:~$ . ./a.sh abc