GNU/Linux >> Znalost Linux >  >> Linux

Přidání znaků nového řádku do proměnných unixového shellu

Jiné než $'\n' můžete použít printf také takto:

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

VÝSTUP:

Foo Bar
SomeData

Běžná technika je:

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

echo "$VARIABLE"
PreviousData
SomeData

Také běžné, aby se zabránilo nechtěnému zahájení řetězce novým řádkem:

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

(Výraz ${VARIABLE:+$nl} se rozvine na nový řádek tehdy a pouze tehdy, když je nastaveno PROMĚNNÁ a není prázdné.)


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

Výstup:

jeden.
.dva


Zkuste $'\n' :

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

dává mi

a
b

Linux
  1. Jak identifikovat pracovní adresáře pomocí Shell znaků a proměnných

  2. Co znamenají speciální postavy v Echo {a..z}?

  3. Vložit nový řádek po přerušené sekvenci čísel Skriptování Awk/unix/shell?

  1. Sledování původu signálu UNIX?

  2. Přidávání uživatelů do sudoers pomocí skriptu shellu

  3. Jak získat prvních n znaků každého řádku v unixovém datovém souboru

  1. Pole v Unix Bourne Shell?

  2. Neočekávané chování skriptu Shell?

  3. Přednost logických operátorů Shell &&, ||?