제1장: The Missing Code Library -- 2. 합 법화 입력
사용 자 는 설명 을 무시 하고 잘못된 데 이 터 를 입력 하 는 경우 가 많다.셸 스 크 립 트 개발 자로 서 이 오 류 를 차단 하고 바로 잡 아야 합 니 다.
전형 적 인 상황 은 파일 이름 이나 데이터베이스 키 를 만 날 수 있다 는 것 이다.사용자 에 게 대소 문자 와 숫자 로 구 성 된 문자열 을 입력 하 라 고 알려 줍 니 다. 구두점 이 없고 특수 문자 가 없 으 며 빈 칸 이 없습니다.그들 은 입력 이 정확 합 니까?이것 이 바로 이 스 크 립 트 가 테스트 할 내용 입 니 다.
validAlphaNum.sh
# validAlphaNum.sh - 、
#!/bin/sh
validAlphaNum()
{
# : + + , 0; , 1
#
compressed="$(echo $1 | sed -e 's/[^[:alnum:]]//g')"
if [ "$compressed" != "$input" ]; then
return 1
else
return 0
fi
}
이 함수 의 예제 용법.다음 코드 를 직접 추가 합 니 다.
validAlphaNum. sh 중:
validAlphaNum.sh
echo -n " :"
read input
if ! validAlphaNum "$input"; then
echo " 。" >&2
exit 1
else
echo " 。"
fi
exit 0
스 크 립 트 분석: 스 크 립 트 의 논 리 는 매우 명확 하 다.우선, 그것 은 sed 로 입력 을 새로운 것 으로 변환 합 니 다.그리고 새로운 데이터 와 원본 을 비교 했다.두 개가 똑 같 으 면 완벽 하 다.그렇지 않 으 면 변환 중 에 잃 어 버 린 데 이 터 는 문자 숫자의 집합 에 속 하지 않 기 때문에 원본 입력 은 불법 입 니 다. sed 의 특수 한 역할 은 POSIX 문자 류 [: alnum:] 에 없 는 데 이 터 를 처리 하 는 것 입 니 다.이 문자 류 는 모든 대문자, 소문 자, 숫자의 집합 이다.만약 sed 처리 후의 데이터 가 이전의 입력 과 일치 하지 않 는 다 면 모든 자모 숫자의 이동 은 이러한 문 제 를 보 여 줍 니 다. 입력 문자열 (불법) 에 비 숫자 자모의 존재 가 있 고 함 수 는 비 0 값 을 되 돌려 줍 니 다.
스 크 립 트 실행: 이 각본 자 체 는 완비 되 어 있다.그것 은 입력 을 알려 주 고 결과 가 합 법 적 인지 여 부 를 알려 줄 것 이다.이 함수 의 더욱 전형 적 인 용법 은 스 크 립 트 나 라 이브 러 리 의 머리 에 두 는 것 이다.12 번 째 스 크 립 트 에서 보 여 드 리 겠 습 니 다. 이 스 크 립 트 는 매우 좋 은 일반적인 셸 스 크 립 트 프로 그래 밍 기술 을 보 여 주 었 다. 먼저 다음 함 수 를 쓴 다음 에 이어서 테스트 해 보 자.끝 난 후에 이 함 수 를 더 크 고 완 비 된 스 크 립 트 에 넣 으 세 요.이렇게 하면 너 에 게 앞으로 많은 일 을 절약 할 수 있 을 것 이다.
결과:
./validAlphaNum.sh :valid123SAMPLE
。
./validAlphaNum.sh :this is most assuredly NOT valid, 12345 。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
용감한 바로 가기 및 우분투 응용 프로그램안녕하세요 여러분, 이 기사에서는 모든 사이트에서 pwa를 생성하고 실행기 응용 프로그램으로 추가하는 방법을 설명하고 싶습니다. 일부 웹사이트는 PWA로 설치를 허용하지 않지만 유사한 애플리케이션을 원합니다. 1. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.