成功するまでbashでコマンドを何度も実行するにはどうすればよいですか? 質問する

成功するまでbashでコマンドを何度も実行するにはどうすればよいですか? 質問する

スクリプトがあり、ユーザーに何らかの情報を尋ねたいのですが、ユーザーがこの情報を入力するまでスクリプトは続行できません。以下は、これを実現するためにコマンドをループに入れようとした私の試みですが、何らかの理由で機能しません。

echo "Please change password"
while passwd
do
    echo "Try again"
done

私は while ループのさまざまなバリエーションを試しました:

while `passwd`
while [[ "`passwd`" -gt 0 ]]
while [ `passwd` -ne 0 ]]
# ... And much more

しかし、うまく動作しないようです。

ベストアンサー1

until passwd
do
  echo "Try again"
done

または

while ! passwd
do
  echo "Try again"
done

おすすめ記事