如何在 bash shell 腳本中 echo 一個(gè)新行

echo 命令會(huì)在末尾自動(dòng)添加新行,但是,如何只打印出一個(gè)空行呢?或者怎樣在輸出內(nèi)容中包含一個(gè)新行呢?
可以在 echo 命令中使用 -e 選項(xiàng),這樣就可以使用換行符 \n 在同一輸出行中打印新行了,如下例子:
其輸出如下:?
下面我們來(lái)詳細(xì)了解一下。
使用 echo 命令的 -e 選項(xiàng)打印新行
如果當(dāng)前行的文本已結(jié)束,我們往往會(huì)新起一行,也就是換行。在大多數(shù)類 Unix 系統(tǒng)中,\n 用于新起一行,它被稱為換行符。
默認(rèn)情況下,echo 命令禁用反斜杠轉(zhuǎn)義字符,因此,如果你嘗試使用 \n 轉(zhuǎn)義序列顯示換行符,會(huì)發(fā)現(xiàn)這不起作用,將文本用單引號(hào)括起來(lái)作為字符串文本也不起作用。?
上面的例子可以看出,輸出與我們期望的不一樣。如果要讓換行符起作用,這就需要用到 -e 選項(xiàng)了,該選項(xiàng)告訴 echo 命令我們希望啟用反斜杠轉(zhuǎn)義字符:
這樣,才是我們想要的。
下面我們介紹一些其他的方法來(lái)顯示換行符。
echo 包含新行的變量
你可以將字符串存儲(chǔ)在 bash 變量中,然后使用 -e 標(biāo)志對(duì)其進(jìn)行回顯??聪旅娴睦樱?
使用美元符號(hào) $
在 bash 中,美元符號(hào) $ 被稱為擴(kuò)展字符,它可以在 shell 中引用變量的值。
看下面這段代碼,擴(kuò)展字符的作用相當(dāng)于保存一個(gè)臨時(shí)的值:?
或者,也可以將整個(gè)字符串用作“臨時(shí)變量”:?
不過(guò),我更喜歡使用 -e 標(biāo)志。
使用 echo 打印包含新行的內(nèi)容
當(dāng)你使用 echo 命令打印一段文本的時(shí)候,echo 命令會(huì)在文本的末尾自動(dòng)添加一個(gè)換行符。
這意味著您可以將多個(gè)echo命令鏈接在一起以生成換行??聪旅娴睦樱?
使用 printf 在 bash shell 中打印換行符
printf 是一個(gè)命令行工具,它可以將文本打印在終端上,也允許用戶格式化文本。
其用法也很簡(jiǎn)單,類似于 echo,但是更加方便??聪旅娴睦樱?
正如我們?cè)O(shè)想的那樣,printf 沒(méi)有使用任何選項(xiàng),不過(guò)連帶換行符也會(huì)一起輸出在終端上。
就我個(gè)人而言,我更喜歡使用 echo 命令的 -e 選項(xiàng),或者使用 printf 命令來(lái)顯示輸出中的新行。我建議你也這么做,但你可以自由嘗試。















 
 
 











 
 
 
 