강좌 & 팁
글 수 2,412
2014.02.20 18:56:09 (*.52.177.249)
42520
bash script 에서 다른 script 의 변수, 함수 등을 이용하기 위해서는
source 명령을 사용하게 됩니다.
여러 개의 script 에서 동일한 값을 참조하기 위해서 효율적으로 사용할 수 있습니다.
그러나 script 에서 이유를 알 수 없게 source 이 되지 않는 경우가 있습니다.
그 이유는 script 의 첫 줄이 #!/bin/bash 로 되어 있지 않기 때문일 수 있습니다.
다음의 예제를 보면 이해가 쉽게 이해할 수 있습니다.
]$ cat env.sh #!/bin/sh MSG1="Hello" MSG2="World" ]$ cat shell_1.sh #!/bin/sh source env.sh echo $MSG1 $MSG2 ]$ cat shell_2.sh #!/bin/bash source env.sh echo $MSG1 $MSG2 ]$ ./shell_1.sh ./shell_1.sh: 3: ./shell_1.sh: source: not found ]$ ./shell_2.sh Hello World ]$
#!/bin/bash 와 #!/bin/sh 의 차이입니다.
간단하지만 의외로 찾기 어려운 오류라 고생했던 기억이 있습니다.