이처럼 함수를 만드는 것을 함수 선언이라고 합니다. 선언부의 형태 차이만 있고 의미는 모두 같습니다. 선언부에는 함수 이름과 함께 function 키워드와 소괄호(())를 넣습니다. 형식 ①이나 ②처럼 function 키워드와 소괄호는 생략할 수 있습니다. 함수 이름은 Bash에서 한 단어로 인식돼야 합니다. 그래서 공백 문자를 포함할 수 없습니다. 일부 특수 문자를 사용할 수 있지만, 관례상 언더스코어(_)를 제외한 특수 문자는 잘 사용하지 않습니다. 함수 이름은 대소문자를 구분합니다.
함수 선언은 나중에 사용할 함수를 만들어두는 것입니다. 함수를 선언했다고 해서 그 함수가 실행되는 것은 아닙니다. 함수를 선언하고 나면 함수 이름만으로 함수 내용을 실행해 사용할 수 있습니다. 이를 함수 호출이라고 합니다. 함수를 호출할 때는 뒤에 소괄호 없이 함수 이름만 작성하면 됩니다. 단, 함수 선언보다 함수 호출을 먼저 하면 안 됩니다.