¿PS1 alineada a la derecha y PS1 son iguales a sí mismas?

¿PS1 alineada a la derecha y PS1 son iguales a sí mismas?

leí algún código en alguna parte sobre la alineación correcta del texto y tengo algunas preguntas:

        PS1="`printf "%${COLUMNS}s\n" "${TEXT}"`$PS1"
  1. ¿Qué hacen las comillas invertidas?
  2. ¿Por qué hay otra PS1 al final de la línea?

Gracias por tu contribución:)

Respuesta1

Eso crea un mensaje donde tiene el justificado a la derecha $TEXT, seguido de una nueva línea, seguido del valor anterior de $PS1.

Las comillas invertidas son del caparazón.Sustitución de comando: el shell ejecutará el comando y sustituirá la salida del comando. Generalmente se recomienda utilizar la $(cmd)sintaxis en lugar de la `cmd`sintaxis.

Esa línea se puede escribir sin sustitución de comandos, usando la printf -v varnamesintaxis:

printf -v PS1 '%*s\n%s' "$COLUMNS" "$TEXT" "$PS1"

información relacionada