Bash 함수 이름의 하이픈

Bash 함수 이름의 하이픈

쓰기 bash기능. 함수 이름에 하이픈이 포함될 수 있는 것 같습니다: -.

그러므로 indus-headrc ()그리고 indus-tailrc (). 밑줄만 허용되는 줄 알았는데.

답변1

Bash에 대한 일반적인 오해는 함수 이름이 변수와 동일한 규칙을 따라야 한다는 것입니다. Bash 매뉴얼에서는 다음을 권장합니다.

문자, 숫자, 밑줄로만 구성되고 문자나 밑줄로 시작하는 단어입니다. 이름은 쉘 변수 및 함수 이름으로 사용됩니다. 식별자라고도 합니다.

실제로 Bash 함수 이름은 인쇄 가능한 거의 모든 문자가 될 수 있습니다. 예를 들어, 사전 증가 단항 함수를 정의할 수 있습니다.

function ++ { (( $1++ )); }

물론 제정신인 사람이라면 누구나 여전히 그의 조언을 따를 것입니다.표준 함수 명명.


POSIX-ly( )를 작성하려고 하면 #!/bin/sh하이픈과 오류가 허용되지 않습니다.

구문 오류: 잘못된 함수 이름


결론적으로

그래서 나에게 묻는다면:

  1. 비표준 문자를 포함할 수 있습니까? 예.

  2. 그럼 사용해야 할까요? 절대적으로하지! 이식성이 손상될 수 있으므로 비표준 이름을 사용하면 안 됩니다. POSIX를 준수하는 것은 좋은 습관을 기르는 좋은 방법입니다.

관련 정보