Quero criar um script bash que deve ser executado com o sudo, mas deve levar em consideração o nome do usuário que não o executou. Portanto, se o usuário bobexecuta, sudo ./myscript.sheu gostaria myscript.shde saber quem bobfoi o responsável pela execução.
Vamos olhar para dentro myscript.sh:
USER=$(whoami)
# Do something that takes into account the username.
Como posso saber o nome do usuário que gerou o processo? Mais especificamente, o que devo usar em vez de whoamiobter bobe não root?
#!/usr/bin/env bashnos meus scripts do bash.
shou qualquer outra coisa.
USER=$(whoami). Observe que oUSERjá existe como uma variável interna do shell. Além disso, se for um script bash, não o executesh, que possui apenas um subconjunto de recursos compatíveis com POSIX.