내 컴퓨터에서 오래된 스크립트를 살펴보던 중 이 if
표현을 보았지만 그것이 무엇을 하는지 전혀 몰랐습니다. 누군가 이것을 설명할 수 있나요?
if ! [[ "${count// /}" =~ ^[0-9]+$ ]]
then
echo 1
else
echo $count
fi
값은 count
문자열인 경우도 있고 정수인 경우도 있습니다.
답변1
그것을 구성 요소로 나누어 봅시다.
- 이 구문은
"${count// /}"
변수 내용의 모든 공백을 빈 문자열로 바꾸는 매개변수 확장 구문입니다. 예를 들어2 1
그냥21
- 이 부분은 정규식 작업을
=~ ^[0-9]+$
실행하여bash
왼쪽 문자열을 숫자 집합과 일치시킵니다.오직. - 이 부분은 전체 연산을 무효화합니다. 즉
! [[..]]
,count
아니요일련의 숫자. - 숫자 값을 출력했는데
if
실패 할 경우 1)의 공백을 제거하지 않고 실제 값을 반환합니다 .echo
1
if
count