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" \
  ; \
}

관련 정보