http://ss64.com/bash/case.html보여주다
case word in [ [(] pattern [| pattern]...) command-list ;;]... esac
대괄호는 무엇을 의미하나요? 다른 사이트에서는 이를 생략합니다(예: no [[(]
등).
http://www.thegeekstuff.com/2010/07/bash-case-statement/[[(]
이것을 보여주십시오: 등을 사용하지 마십시오 .
case expression in
pattern1 )
statements ;;
pattern2 )
statements ;;
...
esac
아래 자세한 답변 감사드립니다. 설명해 주셔서 정말 감사드립니다.
답변1
권위 있는 소스 읽기: GNU bash 매뉴얼
https://www.gnu.org/software/bash/manual/bashref.html#Conditional-Constructs
대괄호는 선택적 내용을 나타냅니다.
유일한 필수 부분은 다음과 같습니다. case word in esac
-- 유효한 bash이지만 아무 작업도 수행하지 않습니다.
답변2
대괄호는 설명서에서 대괄호 안의 내용이 선택 사항임을 나타내는 일반적인 규칙입니다. 그들은메타 구문문서에서 사용됩니다.
이 ...
표기법은 메타문법적이기도 합니다. 이는 이전 요소가 반복될 수 있음을 의미합니다.
다른 일반적인 메타 구문에는 |
"또는"을 그룹화하고 표현하기 위한 괄호가 포함됩니다. 여기서 대괄호와 세로 막대는 구문의 일부이고 대괄호는 메타 구문의 일부입니다.
좋은 매뉴얼은 구문과 다른 글꼴로 메타그램의 형식을 지정합니다. 당신이 읽고 있는 페이지 또는배쉬 매뉴얼이는 명령 설명에서 이를 표절한 것입니다 case
. bash 매뉴얼 에서는 word
, pattern
및 이탤릭체와 같은 단어의 형식을 지정합니다. 이는 또한 메타 구문이며, 이는 이러한 단어가 문자 그대로 , 및 와 같이 입력된 단어 command-list
가 아니라 해당 위치에 있는 내용에 대한 설명임을 나타냅니다 .case
in
esac
case
단어 in
[[ (
]무늬[|
무늬]...)
명령 목록 ;;
]...esac