2

ユーザーがパスワード ダイアログで [キャンセル] をクリックしたときに、zenity を使用してパスワードを要求し続ける while ループを中断したい... そうしないと、プログラムはパスワードを要求し続ける必要があります。

これは私の最初の問題ですが、2 番目の問題は、while ループで適切なパスワードを入力しても実行を続け、パスワードを要求し続けることです。

VAR_PASS = $(zenity --password)
while ! $VAR_PASS | sudo -S echo ''; do
    VAR_PASS=$(zenity --password)
    #check if cancel button pressed, then return
done
4

1 に答える 1

7
VAR_PASS=""
while [[ -z $VAR_PASS ]] || ! sudo -S echo <<< "$VAR_PASS"; do
    VAR_PASS=$(zenity --password)
    if [[ $? -eq 1 ]]; then
        #  cancel button pressed
    elif [[ $? -eq 5 ]]; then
        #  timeout
    fi
done
于 2013-11-06T13:15:52.390 に答える