GNU/Linux >> Tutoriales Linux >  >> Linux

Agregar caracteres de nueva línea a las variables de shell de Unix

Aparte de $'\n' puedes usar printf también así:

VARIABLE="Foo Bar"
VARIABLE=$(printf "${VARIABLE}\nSomeData")
echo "$VARIABLE"

SALIDA:

Foo Bar
SomeData

Una técnica común es:

nl='
'
VARIABLE="PreviousData"
VARIABLE="$VARIABLE${nl}SomeData"

echo "$VARIABLE"
PreviousData
SomeData

También es común, para evitar que su cadena comience con una nueva línea sin darse cuenta:

VARIABLE="$VARIABLE${VARIABLE:+$nl}SomeData"

(La expresión ${VARIABLE:+$nl} se expandirá a una nueva línea si y solo si VARIABLE está establecida y no está vacía).


VAR="one"
VAR="$VAR.\n.two"
echo -e $VAR

Salida:

una.
.dos


Prueba $'\n' :

VAR=a
VAR="$VAR"$'\n'b
echo "$VAR"

me da

a
b

Linux
  1. ¿Comportamiento inesperado de un script de Shell?

  2. Precedencia de los operadores lógicos de Shell &&, ||?

  3. ¿Script de shell con función y parámetro como variables?

  4. ¿Funciones en variables de Shell?

  5. ¿Cómo convertir caracteres hexadecimales a ASCII en el shell de Linux?

Cómo identificar directorios de trabajo usando variables y caracteres de shell

Cómo usar variables en secuencias de comandos de Shell

¿Qué significan los caracteres especiales en Echo {a..z}?

¿La secuencia de comandos de Shell se bloquea en el comando de correo?

Insertar una nueva línea después de una secuencia rota de números Awk/unix/shell Scripting?

Cómo usar el comando echo sin nueva línea