Hoe voeg ik een nieuwe regel in het Linux-shellscript in?

Ik wil een nieuwe regel invoegen tussen meerdere echo-statements. Ik heb echo "hello\n"geprobeerd, maar het werkt niet. Er wordt \nafgedrukt. Ik wil de gewenste uitvoer als volgt:

Create the snapshots
Snapshot created

Antwoord 1, autoriteit 100%

De eenvoudigste manier om een nieuwe regel tussen echo-instructies in te voegen, is door een echozonder argumenten in te voegen, bijvoorbeeld:

echo Create the snapshots
echo
echo Snapshot created

Dat wil zeggen, echozonder argumenten zal een lege regel afdrukken.

Een ander alternatief voor het gebruik van een enkele echo-instructie met de vlag -een ingesloten nieuwe regeltekens \n:

echo -e "Create the snapshots\n\nSnapshot created"

Dit is echter niet overdraagbaar, omdat de vlag -eniet consistent in alle systemen werkt. Een betere manier als u dit echt wilt doen, is door printfte gebruiken:

printf "Create the snapshots\n\nSnapshot created\n"

Dit werkt betrouwbaarder in veel systemen, hoewel het niet POSIX-compatibel is. Merk op dat je handmatig een \naan het einde moet toevoegen, omdat printfniet automatisch een nieuwe regel toevoegt zoals echodoet.


Antwoord 2, autoriteit 34%

Gebruik deze echo-instructie

echo -e "Hai\nHello\nTesting\n"

De uitvoer is

Hai
Hello
Testing

Antwoord 3, Autoriteit 11%

echo $'Create the snapshots\nSnapshot created\n'

Antwoord 4, Autoriteit 7%

U kunt de printf (1) Commando , bijv zoals

printf "Hello times %d\nHere\n" $[2+3] 

De & NBSP; printfOpdracht kan argumenten accepteren en een indelingscontrole-string vergelijkbaar (maar niet precies hetzelfde) voor de standaard C printf (3) functie …

Other episodes