Shell 스 크 립 트 를 실행 하 는 4 가지 방법 및 차이 점 소개
1.상대 경로 방식,먼저 cd 에서 스 크 립 트 경로 로 내 려 가 야 합 니 다.
[root@banking tmp]# cd /tmp
[root@banking tmp]# ./ceshi.sh
스 크 립 트 실행 성공 2.절대 경로 방식
[root@banking tmp]# /tmp/ceshi.sh
스 크 립 트 실행 성공 3.bash 명령 호출
[root@banking /]# bash /tmp/ceshi.sh
스 크 립 트 실행 성공 4.(스페이스 바) 상대 또는 절대 방식
[root@banking /]# . /tmp/ceshi.sh
몇 가지 방식 의 차 이 를 말 하 다.첫 번 째 와 두 번 째 는 별 차이 가 없 으 며,두 가지 방식 모두 스 크 립 트 에 미리 권한 을 부여 해 야 한다.
세 번 째 는 스 크 립 트 를 bash 호출 로 처리 하기 때문에 스 크 립 트 는 실행 권한 이 없 이 실행 할 수 있 습 니 다.
앞의 세 가지 방식 은 현재 셸 에서 키 셸 을 열 어 스 크 립 트 내용 을 실행 하 는 것 입 니 다.스 크 립 트 내용 이 끝나 면 하위 셸 이 닫 히 고 부모 셸 로 돌아 갑 니 다.
네 번 째 는 스 크 립 트 내용 을 현재 셸 에서 실행 하 는 것 이지,단독 셸 에서 실행 하 는 것 이 아 닙 니 다.
하위 셸 을 여 는 것 과 하위 셸 을 열지 않 는 것 의 차 이 는 바로 환경 변수의 계승 관계 에 있 습 니 다.예 를 들 어 하위 셸 에 설 치 된 현재 변 수 를 특수 채널 로 처리 하지 않 으 면 부모 셸 은 보이 지 않 습 니 다.
현재 셸 에서 실행 되면 모든 설정 의 환경 변 수 는 직접 유효 합 니 다.
인증:
[root@banking /]# cat /tmp/ceshi.sh
top
1.앞의 세 가지 실행 방식 에서 pstree 표시
├─sshd─┬─sshd───bash───bash───top
│ └─sshd───bash───pstree
2.네 번 째 실행 방식 의 pstree 표시
├─sshd─┬─sshd───bash───top
│ └─sshd───bash───pstree
3.환경 변수 설정 의 계승 관계 와 보 이 는 관 계 를 검증 합 니 다.두 개의 스 크 립 트 를 만 듭 니 다.father.sh 와 subshell.sh.그 중 father.sh 는 subshell.sh 를 호출 합 니 다.
[root@banking /]# cat /tmp/father.sh
v_ceshi='father'
#------- shell
echo " shell "
/tmp/subshell.sh
echo " v_ceshi ${v_ceshi}"
echo ""
echo " shell "
. /tmp/subshell.sh
echo " v_ceshi ${v_ceshi}"
[root@banking /]#
[root@banking /]# cat /tmp/subshell.sh
v_ceshi=son
[root@banking /]#
실행 결과
[root@banking /]# /tmp/father.sh
shell
v_ceshi father
shell
v_ceshi son
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Shell alias 명령에 별칭을 설정하는 방법명령에 별명을 설정하면 명령의'작은 이름'으로 삼을 수 있지만, 이렇게 하는 것이 무슨 의미가 있습니까? 이때 별명이 작용할 수 있다.vim 명령의 별명을vi라고 정의하면 이후에 실행된vi 명령은 실제로vim 명령을...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.