Shell 프로 그래 밍 함수 에 대해 주의해 야 할 몇 가지
셸 프로 그래 밍 에서 함수 에 대해 알 아야 할 몇 가지
1. 함수 내 에서 든 함수 외 에 든 $0 의 값 은 이 스 크 립 트 자체 입 니 다.
[root@target ~]# cat test.sh
#!/bin/bash
echo $0
function testFunc(){
echo "In function:"
echo "\$0=$0"
echo "\$1=$1"
}
testFunc 'test test'
[root@target ~]# bash test.sh
test.sh
In function:
$0=test.sh
$1=test test
2. 함수 내 에서 정 의 된 변수 (전역 변 수 를 수정 해 야 하 는 것 이 아니라면) 는 가능 한 한 local 키 워드 를 사용 하여 국부 변수 로 정의 하여 전역 변수 값 을 덮어 쓰 지 않도록 합 니 다.
[root@target ~]# cat local.sh
#!/bin/bash
TESTDATA="Hello world."
TESTDATA1="Hello shell."
function localFunc(){
TESTDATA="Hello python."
local TESTDATA1="Hello PHP."
echo "In function:"
echo "\$TESTDATA=$TESTDATA"
echo "\$TESTDATA1=$TESTDATA1"
}
#call function
localFunc
echo "Out of function:"
echo "\$TESTDATA=$TESTDATA"
echo "\$TESTDATA1=$TESTDATA1"
[root@target ~]# bash local.sh
In function:
$TESTDATA=Hello python.
$TESTDATA1=Hello PHP.
Out of function:
$TESTDATA=Hello python.
$TESTDATA1=Hello shell.
3. 함수 에서 return 키 워드 를 사용 하여 0 - 255 의 값 을 되 돌려 줍 니 다. 이 함수 가 상태 코드 (즉, 이 함수 가 성공 적 으로 실행 되 었 는 지 여부) 를 종료 하고 0 은 실행 성공 을 표시 하 며 0 이 아 닌 것 은 실 패 를 표시 합 니 다.일상적인 작업 에서 조건 에 따라 함 수 를 실행 성공 여 부 를 되 돌려 주 고 다른 프로그램 이 사용 할 수 있 도록 할 수 있다.함수 가 결과 값 을 되 돌려 주 고 변수 에 저장 하려 면 echo 문 구 를 사용 해 야 합 니 다.
[root@target ~]# cat return.sh
#!/bin/bash
function returnFunc(){
echo "value"
return 247
}
DATA=$(returnFunc)
echo "\$?=$?"
echo "\$DATA=$DATA"
[root@target ~]# bash return.sh
$?=247
$DATA=value
4. 셸 스 크 립 트 가 여러 개 있 으 면 하나의 스 크 립 트 는 다른 스 크 립 트 의 함 수 를 호출 해 야 합 니 다. 다음 명령 을 실행 하고 지정 한 스 크 립 트 파일 을 불 러 옵 니 다.
. ./func.sh
혹은
source ./func.sh
위의 동작 은 다른 언어의 include 동작 과 유사 합 니 다.
[root@target ~]# cat func.sh
#!/bin/bash
function func1(){
echo "This is func1"
}
function func2(){
echo "This is func2"
}
function func3(){
echo "This is func3"
}
[root@target ~]# cat call.sh
#!/bin/bash
#source ./func.sh
. ./func.sh
func1
func2
func3
[root@target ~]# bash call.sh
This is func1
This is func2
This is func3
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
useEffect 안에서의 리턴??인스타 클론하다가 또 다시 배운 기능이다. useEffect안에서 리턴을 한다?? 찾아보니 componentWillUnmount와 같은 효과를 낸다는 것이다. useEffect안에서 return을 하면 정리의 개념으...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.