El nombre de usuario del usuario actual se puede obtener en Bash puro con la ${parameter@operator}
expansión de parámetros (introducida en Bash 4.4):
$ : \\u
$ printf '%s\n' "${_@P}"
El :
incorporado (sinónimo de true
) se usa en lugar de una variable temporal estableciendo el último argumento, que se almacena en $_
. Luego lo expandimos ( \u
) como si fuera una cadena de solicitud con el P
operador.
Esto es mejor que usar $USER
, ya que $USER
es solo una variable ambiental regular; puede modificarse, desarmarse, etc. Incluso si no se manipula intencionalmente, un caso común en el que todavía es incorrecto es cuando el usuario cambia sin iniciar un shell de inicio de sesión ( su
predeterminado).