Чтобы использовать команду chown, мне нужно знать, кто запускает мой скрипт. Настоящее имя, потому что оно будет работать с sudo. Как я могу это сделать?
chown
Для полноты есть также id -un и whoami, но, вероятно, предпочтительнее использовать env vars, если у вас нет причин не делать этого.
id -un
whoami
Попробуйте переменные LOGNAME или USER env.
LOGNAME
USER
#!/bin/bash # Init FILE="/tmp/out.$$" GREP="/bin/grep" #.... # Make sure only root can run our script if [ "$(id -u)" != "0" ]; then echo "This script must be run as root" 1>&2 exit 1 fi # ...
id -run дает вам реальный UID, а не эффективный.
id -run