1. sh대신 source
bash에서 재사용성을 높이기 위해서 환경설정 파일을 읽어서 (include file 개념) 처리해야 하는 상황이다.
export 만 정의하는 스크립트가 있고, 실행스크립트들이 export 스크립트를 재사용하여 편하게 스크립트 개발을 할 수 있게 하려고 한다.
이때 sh 이 아닌 source를 쓰는 것이 좋다.
export.sh
#!/bin/sh
export A=/development/work
exe.sh
#!/bin/sh
sh export.sh
export A
위와 같이 sh 명령어를 사용하면 출력되는 결과는 없다. export.sh 를 실행만 시키고 context는 공유하지 못한다는 뜻이 된다. 즉 하나의 export.sh 프로세스를 실행하고 exe.sh에는 아무 영향을 주지 말라는 뜻이다. 그냥 실행의 의미이다.
=> 따라서 export.sh의 내용을 영향을 받게 하기 위해서는 sh 대신 source를 사용하면 된다.
#!/bin/sh
source export.sh
export A
2. -bash: export: `path..': not a valid identifier
원인은 export 하는 변수의 이름에 허용하지 않은 charactor를 넣었을 때 발생한다.
'-'는 허용하지 않는다.
만약 쓰고 싶으면, export yyy='\x41\x42\x43' 이렇게 쓰면 된다.
'unix and linux' 카테고리의 다른 글
개발서버 https 요청하기 - SSL certificate problem: Invalid certificate chain (0) | 2014.04.28 |
---|---|
[팁] Linux 터미널과 vi로 한글 깨짐 해결 (0) | 2014.04.16 |
nagios 스크립트 실행 코드 (0) | 2013.10.02 |
nagios ncsa 연동 (0) | 2013.10.02 |
운영 스크립트 - #!/bin/sh 과 #!/usr/bin/env bash (0) | 2013.07.01 |