사용자 이름과 비밀번호를 적어두면 스크립트가 내가 누구인지 알려준다는 아이디어입니다.
- if:
사용자 이름: admin pass: admin 스크립트 echo: "당신은 관리자입니다" - if:
사용자 이름: 사용자 패스: 사용자 스크립트 echo: "당신은 사용자입니다" - if:
사용자 이름: 익명 pass: 익명 스크립트 echo: "당신은 익명입니다."
사용자 이름 == "admin"이고 비밀번호 == "hello" 인 경우 잘못된 비밀번호가 표시됩니다.
사용자 이름 == "hello" 및 비밀번호 == "admin"(예: echo 사용자 이름)을 사용할 수 없는 경우
답변1
나는 당신이 이것을 바랍니다아니요실제 로그인 스크립트를 작성하고 싶지만 스크립트를 가지고 놀고 싶습니다. 다음 스크립트는 귀하의 요구 사항에 따라 실행됩니다...
#!/usr/bin/env bash
read -p "username: " username
read -p "password: " password
case $username in
admin|user|anonymous)
if [[ $password == $username ]]; then
echo "you are $username"
else
echo "wrong password"
fi
;;
*)
echo "username not available"
esac
...하지만 몇 가지 결함이 있습니다.
- 사용자가 비밀번호를 입력하면 비밀번호가 일반 텍스트로 표시됩니다. 이것은 일반적으로 누구도 원하는 것이 아닙니다.
- 이 경우 사용자 이름과 비밀번호는 동일해야 하며 스크립트에 하드코딩되어야 합니다. 즉, 이 스크립트를 실행할 수 있는 사람은 누구나 이를 보고 예상되는 비밀번호가 무엇인지 확인할 수 있습니다.
스크립트는 사용자 이름과 비밀번호를 묻는 메시지를 표시하고 이를 변수 $username
및 에 저장합니다 $password
. 그런 다음 $username
, 또는 중 하나 인지 확인합니다 . 그렇다면 합계가 일치하는지 확인하세요.admin
user
anonymous
$username
$password