Tôi đã hack cùng tập lệnh bash này để kiểm tra xem người dùng có các đặc quyền siêu người dùng hay không và nếu họ không yêu cầu họ. Cuối cùng, tôi đang cố gắng đảo ngược câu lệnh 'if' thứ hai để tôi có thể xóa hai dòng sau (echo "password ok" và dòng còn lại ở dòng sau)
# Root user only
if [[ "$EUID" != 0 ]]; then
sudo -k # make sure to ask for password on next sudo
if sudo true; then
echo "Password ok"
else
echo "Aborting script"
exit 1
fi
fi
echo "do my ops"
Có phải mục đích của "true" trên dòng thứ tư chỉ là một tuyên bố null?
Tôi cần phải đảo ngược bài kiểm tra trên dòng thứ tư, làm thế nào để tôi làm như vậy? Đây là những gì tôi đã thử:
if sudo false; then
if sudo true == false; then
if [!(sudo true)]; then
echo "Aborting script" >&2