Bash에서 이 구조는 무엇입니까? mycommand(){뭔가를 하세요;}

Bash에서 이 구조는 무엇입니까? mycommand(){뭔가를 하세요;}

실제로 commandfu.com에서 다음 문장을 찾았습니다.

cmdfu(){ curl "http://www.commandlinefu.com/commands/matching/$@/$(echo -n $@ | openssl base64)/plaintext"; }()이전에는 bash에서 비슷한 사용법을 본 적이 없습니다.

cmdfuBash 환경에서 임시 명령을 생성하는 것 같습니다. 내가 바로 여기 있나요? 아니면 실제로 어딘가에 저장되어 있나요? 이 구조에 이름이 있나요? 그럼 내가 읽을 수 있을까?

답변1

이것은 쉘 함수입니다. 명령줄에서 생성하면 현재 셸 호출 내에서만 존재하게 됩니다. 쉘 시작 파일(.bashrc, .bash_profile 등)에 정의를 추가하여 "영구"로 만들 수 있습니다.

맨페이지에서 "Shell Function Definitions"를 검색 하면 bash(1)쉘 함수를 정의하는 구문을 볼 수 있습니다. 함수 섹션에서는 함수 자체에 대해 자세히 설명합니다.

관련 정보