su usuario ejecuta el comando como root

1

Fondo corto:

cuando se ejecuta un script que utiliza notify-send "title" "message", se espera que muestre una notificación, pero sudo ./script no muestra notificación

Después de leer y visitar muchas páginas, encontré que ejecutar esta parte (notificar-enviar parte) de mi script aún podría notificar al usuario.

Problema:

Así probando este comando su:

su normal-user -c "echo $USER"
root

¿Por qué esto no está volviendo? normal-user

Cybex
fuente

Respuestas:

4

La variable $ USER se expande en el momento en que ingresa el comando no después de ejecutar su. su normal-user -c 'echo $USER' dará los resultados esperados. Las comillas simples significan que $ USER no se expandirá hasta después del su.

Ciclamino
fuente