sudoでコマンドを実行し、sudo権限がタイムアウトしたときにのみテキスト行をエコーするスクリプトを作成しています。したがって、sudoでコマンドを実行するには、ユーザー(rootではない)がパスワードを再入力する必要があります。
これをどのように確認しますか? sudoで実行しても$(id -u)
現在のユーザーIDが返されるため、0に一致するかどうかを確認する方法はありません。
静かに確認する方法が必要です。
ベストアンサー1
-n
以下の権限がまだあることを確認するには、このオプションを使用してくださいman sudo
。
-N、--非対話型
ユーザーに何らかのタイプの入力を要求しないでください。コマンドの実行にパスワードが必要な場合、sudoはエラーメッセージを表示して終了します。
例えば、
sudo -n true 2>/dev/null && echo Privileges active || echo Privileges inactive
sudo -n true
確認後、実際の使用の間に権限が期限切れになることがあります。自分で試してsudo -n command...
失敗した場合は、メッセージを表示してsudo
対話的にやり直してください。
編集:以下のruakhのコメントも参照してください。