검색경로
배시 쉘은 명령행에서 입력된 명령어의 위치를 찾기 위해 변수 PATH를 사용한다. 경로들은 콜론(:)으로 구분되어 나열한다. 기본 검색경로는 시스템마다 다를 수 있다. 주로 배시를 관리하는 관리자가 설정한다. 검색은 목록의 왼쪽 디렉토리에서 오른쪽 디렉토리의 순서로 진행된다. 경로의 맨 마지막에 마침표(.)는 현재 작업 디렉토리를 나타낸다.
경로는 보통 .bash_profile에서 지정한다.
경로의 마지막에 마침표(.)를 지정하지 않은 경우에는, 현재 작업 디렉토리에서 명령어나 스크립트를 수행시킬 때 ./를 함께 써주어야 쉘이 현재 디렉토리에서 프로그램을 검색할 수 있다. 예를 들어, ./program_name 처럼 입력해야한다.
(PATH 출력)
$echo $PATH
/usr/gnu/bin:/usr/local/bin:/usr/bin:.
(PATH 설정)
$PATH=$HOME:/usr/ucb:/usr:/usr/bin:
$export PATH
(그냥 export PATH= 뭐라뭐라 써도 됨)
hash 명령어
hash - 현재 로그인 세션에서 실행한 모든 명령어들의 전체 경로이름 출력
-r 옵션은 해시테이블에 저장되어있던 모든 명령어 삭제
특정명령어 추가하는법
ex) hash find (find 추가)
source 명령어(마침표 명령어)
마침표(. 또는 source)는 배시 쉘의 내부 명령어이다. source는 마침표(.) 명령어의 다른 이름이다. 이 명령어는 스크립트의 이름을 인자로 갖는다. 스크립트는 현재 쉘의 환경에서 실행된다. 즉, 자식 프로세스를 새로 생성하지 않고 스크리브를 실행한다. 스크립트 내에서 정의된 모든 변수들은 현재 쉘 환경의 일부가 되며, 마찬가지로 현재 쉘에서 정의한 모든 변수들도 스크립트 환경의 일부가 된다.
$source .bash_profile
$. .bash_profile
참고 - .bash_profile을 스크립트 자체로 바로 실행시키면 자식 쉘이 새로 생성되어 시작된다. 즉, 자식 쉘이 변수들이 설정된다. 따라서 자식 쉘을 종료하고 부모 쉘로 돌아오면 변경된 사항은 아무것도 남지않는다.
'예전것 > Linux Basic' 카테고리의 다른 글
emacs의 설정 (0) | 2009.07.16 |
---|---|
리눅스에서 키설정 & 디버깅 (0) | 2009.07.16 |
NFS 간단설정 (0) | 2009.07.12 |
BASH SHELL LAB EXERCISE (0) | 2009.06.08 |
CentOS netinstall (0) | 2009.05.22 |