"Bash 함수 반환 값 받기"의 두 판 사이의 차이

잔글 (로봇: 자동으로 텍스트 교체 (-[root@jmnote +[root@zetawiki))
 
(사용자 2명의 중간 판 13개는 보이지 않습니다)
2번째 줄: 2번째 줄:
;Bash 함수 반환값 얻기
;Bash 함수 반환값 얻기


==방법 1: 전역변수로 전달==
==방법 1: echo로 전달 ==
여기서 return은 예약어가 아니라 변수명이다...
* bash에서는 이 방법이 가장 일반적이다.
<syntaxhighlight lang='bash' run>
function foo() { echo 'hello1'; }
ret=$(foo)
echo $ret
</syntaxhighlight>


;소스 예시
==방법 2: 전역변수로 전달==
<source lang='bash'>
* 여기서 ret는 변수명이다...
function foo() { ret=hello; }
<syntaxhighlight lang='bash' run>
function foo() { ret=hello2; }
foo
foo
echo $ret
echo $ret
</source>
</syntaxhighlight>


;실행결과
==방법 3: return으로 전달==
<source lang='cli'>
* return으로는 정수 1~255 만 전달 가능하다.<ref>예를 들어 -1을 return하면 255가 전달된다...</ref>
[root@zetawiki ~]# function foo() { ret=hello; }
* 함수의 return 값이 [[EXIT_STATUS]]로 전달되며, [[$?]]로 확인가능
[root@zetawiki ~]# foo
<syntaxhighlight lang='bash' run>
[root@zetawiki ~]# echo $ret
function foo() { return 123; }
hello
foo
</source>
 
==방법 2: return으로 전달==
return으로는 정수 1~255 만 전달 가능하다.<ref>예를 들어 -1을 return하면 255가 전달된다...</ref>
 
;소스 예시
<source lang='bash'>
function one() { return 1; }
one
echo $?
echo $?
</source>
</syntaxhighlight>
 
;실행결과
<source lang='cli'>
[root@zetawiki ~]# function one() { return 1; }
[root@zetawiki ~]# one
[root@zetawiki ~]# echo $?
1
</source>


==같이 보기==
==같이 보기==
*[[Bash에서 가변길이 매개변수 함수 사용]]
*[[Bash에서 가변길이 매개변수 함수 사용]]
*[[Bash 실행결과 변수에 담기]]
*[[Bash 실행결과 변수에 담기]]
*[[$?]]
*[[리눅스 $?]]
 
==주석==
<references/>


==참고 자료==
==참고==
*http://www.linuxjournal.com/content/return-values-bash-functions
*http://www.linuxjournal.com/content/return-values-bash-functions


[[분류: Bash]]
[[분류: Bash]]

2021년 9월 17일 (금) 13:30 기준 최신판

Bash에서 함수 리턴 값 받기
Bash 함수 반환값 얻기

1 방법 1: echo로 전달 ★[ | ]

  • bash에서는 이 방법이 가장 일반적이다.
function foo() { echo 'hello1'; }
ret=$(foo)
echo $ret

2 방법 2: 전역변수로 전달[ | ]

  • 여기서 ret는 변수명이다...
function foo() { ret=hello2; }
foo
echo $ret

3 방법 3: return으로 전달[ | ]

  • return으로는 정수 1~255 만 전달 가능하다.[1]
  • 함수의 return 값이 EXIT_STATUS로 전달되며, $?로 확인가능
function foo() { return 123; }
foo
echo $?

4 같이 보기[ | ]

5 참고[ | ]

  1. 예를 들어 -1을 return하면 255가 전달된다...
문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}