Chcę utworzyć skrypt bash, który musi zostać wykonany za pomocą sudo, ale powinien uwzględniać nazwę użytkownika niebędącego sudo, który go wykonał. Więc jeśli użytkownik boburuchomi sudo ./myscript.sh, chciałbym myscript.shwiedzieć, że bobto on go wykonał.
Zajrzyjmy do środka myscript.sh:
USER=$(whoami)
# Do something that takes into account the username.
Jak poznać nazwę użytkownika, który utworzył proces? Mówiąc dokładniej, czego powinienem użyć zamiast, whoamiaby dostać, boba nie root?
#!/usr/bin/env bashna moich skryptach bash.
shlub czegoś innego.
USER=$(whoami). Zauważ, żeUSERjuż istnieje jako wewnętrzna zmienna powłoki. Ponadto, jeśli jest to skrypt bash, nie uruchamiaj go przy użyciush, który ma tylko podzbiór funkcji zgodny z POSIX.