사용자가 이름과 나이를 입력하도록 요구하는 스크립트의 예를 들어주실 수 있나요? 그런 다음 성과 이름에 문자만 포함되어 있는지, 나이에 숫자만 포함되어 있는지 확인하세요. 정보가 정확하면 파일에 추가됩니다.
답변1
답변2
메시지를 표시 echo
하고 read
입력 줄을 읽는 데 사용됩니다. 이는 쉘에 내장되어 있으므로 자세한 내용은 쉘 매뉴얼을 참조하세요.
echo "What is your name?"
read -r name
echo "What is your age?"
read -r age
연령을 확인하려면 숫자 이외의 문자가 포함되어 있는지 확인하세요. 이를 허용하는 유일한 휴대용 내장 쉘 구성은 다음과 같습니다 case
(일부 쉘에는 정규식 일치를 위한 확장 기능이 있습니다).
case $age in
*[!0-9]*) echo 1>&2 "Your age must consist of digits only."; exit 2;;
esac
이름을 확인하려면 인쇄할 수 없는 문자가 포함되어 있는지 확인하세요. (알아채다이름에는 거의 모든 문자가 포함될 수 있습니다.;또한 모든 사람이 "성"을 갖고 있는 것은 아닙니다. 이름을 임의의 문자열로 취급합니다. )
case $name in
*[![:print:]]*) echo 1>&2 "Your name must consist of printable characters only."; exit 2;;
esac
답변3
이것이 숙제가 아니라면 PERL 또는 Python을 사용하여 살펴보고 다음과 같이 PERL을 읽는 것이 좋습니다.
$name = <STDIN>;
chomp $name;
($forename, $surname) = split(<regex>, $name);
if($surname =~ /<regex>/) execute something
Python도 비슷하므로 한번 살펴보세요.PERL 정규식. 대본은 정확하지 않지만 아이디어는 얻을 수 있습니다.