存在しないユーザーを入力すると、再試行するように求められますが、反対の効果が発生します。私の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 互換シェルを含む多くの言語では、否定は常に有効です。