함수 return 값과 출력하는 값 동시에 가져오기
513
작성한 질문수 2
안녕하세요 강사님.
함수 return 값을 받고 싶은 경우 함수를 실행하고 $? 로 받을 수 있고, 함수가 출력하는 값을 받고 싶은 경우 함수를 $()로 실행하고 $?로 받는 것으로 이해했습니다.
그렇다면 함수를 한번만 실행하고 return 값과 출력 값을 모두 받을수 있는 방법이 있을까요? 두개의 값을 모두 얻고 싶으면 함수를 두번 다르게 실행하여 값을 얻는 것밖에 생각나지 질문 드립니다.
답변 1
1
안녕하세요 우댕님.
함수의 리턴값을 받는 것은 함수 실행 종료 직후의 $?이고,
함수의 출력값을 받는 것은 함수를 command substitution($( .. ))으로 실행한 후 그 결과를 변수에 저장하면 됩니다.
따라서 아래와 같은 구조로 사용하면 함수의 출력값과 리턴값을 동시에 취할 수 있습니다.
#!/bin/bash
function result_test()
{
echo "hello world haha"
return 45
}
output="$(result_test)"
retval="$?"
echo "retval: $retval"
echo "output: $output"
프로젝트 질문 문의
0
43
1
Unauthorized 에러
0
40
2
inotify 객체에 등록된 watch descriptor 해제 관련 질문
0
35
2
select API 실습 코드 질문
0
39
2
72강의 DNS개념(수업자료)에 자료가 없어서 문의 드립니다.
1
55
2
권한 기본값 질문
0
53
2
openclaw 실행 실패
0
553
1
교재 있나요? 서브 노트 있나요?
0
60
1
59회차 학습 미작동
0
66
2
강의 업로드 오류 확인 요청
0
61
2
macOS 실습 애플리케이션 실행이 안됩니다.
0
60
1
진로가 큰 고민입니다...
0
103
1
AWS EC2 OS 설정 관련 문의 드립니다.
0
67
1
host에서 oracle 서버 접속
0
131
3
강의 순서
0
101
1
환경변수 질문
0
270
1
정규표현식
0
240
1
case 문이 강의에서 안보여요
0
276
2
두개의 창띄우기
0
303
1
for 문에서 리스트 질문요!!
0
204
1
declare 관련하여서 궁금한게 있습니다!
0
244
1
환경변수 PWD, OLDPWD 관련하여 질문드립니다.
0
706
1
수업 관련 질문 몇 가지 있습니다..
0
402
1
혹시 해당 강의에 대한 문서는 없나요?
0
395
1





