inflearn logo
강의

講義

知識共有

Linuxシェルスクリプト

関数の使用 - 実習

함수 return 값과 출력하는 값 동시에 가져오기

542

hwshws100647

投稿した質問数 2

0

안녕하세요 강사님.

함수 return 값을 받고 싶은 경우 함수를 실행하고 $? 로 받을 수 있고, 함수가 출력하는 값을 받고 싶은 경우 함수를 $()로 실행하고 $?로 받는 것으로 이해했습니다.

그렇다면 함수를 한번만 실행하고 return 값과 출력 값을 모두 받을수 있는 방법이 있을까요? 두개의 값을 모두 얻고 싶으면 함수를 두번 다르게 실행하여 값을 얻는 것밖에 생각나지 질문 드립니다.

linux shell-script

回答 1

1

learnit

안녕하세요 우댕님.

함수의 리턴값을 받는 것은 함수 실행 종료 직후의 $?이고,
함수의 출력값을 받는 것은 함수를 command substitution($( .. ))으로 실행한 후 그 결과를 변수에 저장하면 됩니다.
따라서 아래와 같은 구조로 사용하면 함수의 출력값과 리턴값을 동시에 취할 수 있습니다.

 

#!/bin/bash

function result_test()

{

echo "hello world haha"

return 45

}

output="$(result_test)"

retval="$?"

echo "retval: $retval"

echo "output: $output"

 

ls -al /var/log/nginx

0

19

2

이번강의

0

16

2

버추얼박스 오류

0

20

1

세월이 흘러 문제가 바뀐 것 같습니다.

0

12

2

수업자료는 없나요?

0

9

1

실습환경

0

26

2

키페어 설정

0

34

2

vi 줄 정렬하신 방법에 대해 문의드립니다.

0

30

1

말이 좀 헷갈립니다 강님

0

34

2

질문답변 부탁드립니다

0

26

1

Trace32 function 함수 조회 Makefile 수정 부분

0

30

1

쉘에서 한글 치는방법

0

52

2

리눅스 가상머신 설치

0

49

2

강의 잘못된부분

0

47

1

강의 순서

0

132

1

환경변수 질문

0

298

1

정규표현식

0

268

1

case 문이 강의에서 안보여요

0

306

2

두개의 창띄우기

0

336

1

for 문에서 리스트 질문요!!

0

228

1

declare 관련하여서 궁금한게 있습니다!

0

272

1

환경변수 PWD, OLDPWD 관련하여 질문드립니다.

0

739

1

수업 관련 질문 몇 가지 있습니다..

0

431

1

혹시 해당 강의에 대한 문서는 없나요?

0

415

1