Nasıl eğer root olarak bir bash betiği çalışıyor olmadığını kontrol etmek için
Ben yazılı bir komut dosyası gerektirir kök düzeyinde izinler, ve yapmak istiyorum ki eğer bu programı çalıştırın root olarak, sadece yankıları "please run as root." ve çıkar.
İşte aradığım için bazı sözde kod:
if (whoami != root)
then echo "Please run as root"
else (do stuff)
fi
exit
Nasıl en iyi (temiz ve güvenli bir şekilde) bunu başarabilecek miyim? Teşekkürler!
Ah, sadece netleştirmek için: (şeyler) kısmen-ve-kök kendileri gerektiren komutları çalışan içerecektir. Yani normal bir kullanıcı olarak çalışan sadece bir hata ile geldi. Bu sadece temiz bir şekilde kök komutları gerektiren bir komut dosyasını çalıştırmak için tasarlanmıştır, bu senaryo içinde sudo kullanmadan, sadece bazı sözdizimsel şeker arıyorum.
CEVAP
$EUİD ortam değişkeni, geçerli kullanıcının UİD tutar. Kök UID 0. Komut: böyle bir şey kullanın
if [ "$EUID" -ne 0 ]
then echo "Please run as root"
exit
fi
Eğer süreç numarası (PID) olup olmadığ...
Nasıl bir değişkeni bash ayarlanmış ol...
Java eğer herhangi bir sonuç olup olma...
Nasıl eğer bir element, bir dizi içind...
Nasıl eğer bir nesnenin null olup olma...