쉘 함수 이름에 특수문자를 사용할 수 있나요?

쉘 함수 이름에 특수문자를 사용할 수 있나요?

쉘 스크립트에서 함수를 생성해야 하는데 함수 이름에 특수 문자가 포함되어야 합니다. 좋다

     >()
      {
       echo $1 $2
      }

여기 내 함수 이름은 >가능하다면 위와 같이 어떻게 제공할 수 있습니까? 시도했지만 오류가 발생했습니다.

답변1

대부분의 쉘은 함수 이름을 따옴표가 필요하지 않은 문자로만 제한합니다 >.

함수 이름으로 허용하는 몇 가지 셸에서도 >(zsh만 알고 있습니다) 호출된 함수를 정의하는 것은 >명령으로 호출되는 경우에만 작동합니다 >(인용 부호가 필요함, 즉 \>or 또는 ">"실행 '>'). 리디렉션 작동 방식은 변경되지 않습니다.

일반 셸에는 스크립트의 후속 부분이 리디렉션을 수행할 때 발생하는 상황을 구성할 수 있는 기능이 없습니다. 이런 종류의 기능이 필요한 경우 쉘은 충분히 유연한 언어가 아닙니다. 하지만 더 나은 해결 방법이 있을 수도 있습니다.어떤 문제를 해결하고 싶어도-- 아마도 쉘 스크립트에서 이 문제를 해결하는 것이 가능할 것입니다.

답변2

>쉘에서는 특별한 의미를 가지며 리디렉션 연산자입니다. 맨페이지를 참조하세요.

[n]> file은 표준 출력(또는 n)을 파일로 리디렉션합니다.

함수 이름에는 문자(az 또는 AZ), 숫자(0-9) 또는 밑줄 문자(_)만 포함할 수 있습니다. 그리고 숫자로 시작할 수 없습니다. (바라보다기능 정의 명령그리고이름)

관련 정보