Sudo ile yürütülmesi gereken ancak bunu yürüten sudo olmayan kullanıcının adını dikkate alması gereken bir bash betiği oluşturmak istiyorum. Yani kullanıcı bob
çalışırsa sudo ./myscript.sh
ben bunu yürütmek olduğunu myscript.sh
bilmek istiyorum bob
.
İçine bakalım myscript.sh
:
USER=$(whoami)
# Do something that takes into account the username.
Süreci oluşturan kullanıcının adını nasıl bilebilirim? Daha spesifik olarak, yerine ne kullanmalıyım whoami
almak bob
değil root
?
#!/usr/bin/env bash
benim bash scriptlerimde böyle bir hashbang koydu .
sh
veya başka bir şey ile çağırırsanız hashbang yok sayılır .
USER=$(whoami)
.USER
Zaten bir kabuk iç değişkeni olarak var olduğunu unutmayın . O bir betik görüyorsunuz Ayrıca, eğer yok kullanarak çalıştırmaksh
sadece özellikleri bir POSIX uyumlu alt kümesini olan,.