존재하지 않는 사용자를 입력하면 다시 시도하라는 메시지가 표시되도록 만들려고 했는데 반대 효과가 발생합니다. 내 while 조건에 문제가 있다고 확신합니다. 볼 수 없습니다. :(
암호:
#!/bin/bash
echo -n "Name of the username: "
read username
while id -u $username >/dev/null 2>&1;
do
echo "User doesn't exist"
echo -n "Name of the username: "
read username
done
답변1
조건을 부정하려면 사용해야 합니다 !
.
이는 while cond
true인 경우 실행을 의미하며 (true까지 실행)과 반대입니다 cond
.until cond
cond
until
그러나 POSIX 호환 셸을 포함하여 많은 언어에서 부정은 항상 유효합니다.