如何發送電子郵件,其中「Hello world!」出現在第一行,「測試運行」出現在第二行。我試過\ r \ n和\ n。是否有任何方法可以一行一行地堆疊線路?命令行中的行分隔符
echo "Hello world! \r\n Test run" | mail -s "Test" [email protected]
電子郵件應被視爲類似:
世界,你好!
試運行
如何發送電子郵件,其中「Hello world!」出現在第一行,「測試運行」出現在第二行。我試過\ r \ n和\ n。是否有任何方法可以一行一行地堆疊線路?命令行中的行分隔符
echo "Hello world! \r\n Test run" | mail -s "Test" [email protected]
電子郵件應被視爲類似:
世界,你好!
試運行
使用echo -e
。從手冊中:
如果給出-e選項 ,則會啓用對以下反斜線轉義字符的解釋。 [...]
# echo -e "Hello world! \r\n Test run"
Hello world!
Test run
在bash你也可以使用$'string'
:是經過特殊處理的形式$ '字符串' 的
詞。該字擴展爲 爲字符串,反斜槓轉義字符被替換爲ANSI C標準中指定的字符。
# echo $'Hello world! \r\n Test run'
Hello world!
Test run
如果你想超過二,三線,你也可以使用下面的語法:
mail -s "Test" [email protected] << EOF
然後鍵入您的郵件,最後一個只EOF
在其線;它將允許您在多行上輸入文本作爲單個「邏輯」命令行。 (嘗試瀏覽命令行的歷史記錄之後,您將理解我的意思是「一個邏輯命令行」。
'echo $'foo \ nbar''至少在bash中起作用。 – melpomene