Je veux créer un script bash qui doit être exécuté avec sudo mais doit prendre en compte le nom de l'utilisateur non sudo qui l'a exécuté. Donc, si l'utilisateur bobs'exécute, sudo ./myscript.shje voudrais myscript.shsavoir si bobc'est lui qui l'a exécuté.
Regardons à l'intérieur myscript.sh:
USER=$(whoami)
# Do something that takes into account the username.
Comment puis-je connaître le nom de l'utilisateur qui a engendré le processus? Plus précisément, que dois-je utiliser au lieu de whoamipour obtenir bobet non root?
#!/usr/bin/env bashsur mes scripts bash.
shou autre chose.
USER=$(whoami). Notez que leUSERexiste déjà en tant que variable interne du shell. De plus, s'il s'agit d'un script bash, ne l' exécutez pas à l'aidesh, qui ne possède qu'un sous-ensemble de fonctionnalités compatibles POSIX.