Bash - 터미널에 여러 줄이 있는 함수를 정의하는 방법은 무엇입니까?

Bash - 터미널에 여러 줄이 있는 함수를 정의하는 방법은 무엇입니까?

터미널에서 여러 줄에 걸쳐 함수를 정의하는 방법은 무엇입니까?

# this doesn't work
function my_func { \
  echo "number 5" \
}

매우 기본적입니다. 아직도 매우 성가시다.

답변1

\여기서 계속할 필요는 없습니다 . 노력하다:

function my_func {
  echo "number 5" 
}

function키워드는 필수가 아니며 다음을 사용할 수 있습니다 funcname () {...}.

my_func() {
  echo "number 5" 
}

그런데 이것이 작동하지 않는 이유는 백슬래시가 함수 정의를 모두 한 줄로 만들고, 한 줄 함수 정의는 ;bash에서 a로 끝나야 하기 때문입니다.

예를 들어 다음은 실패합니다.

my_func () { echo "number 5" }

이것은 작동합니다:

my_func () { echo "number 5" ; }

이와 같이:

function my_func { \
  echo "number 5" \
  ; \
}

관련 정보