Echo

我試圖了解特定的 echo 語句的作用

  • August 11, 2022

我試圖了解第二個 echo 語句究竟做了什麼(它是一個現有的腳本)..

echo "Triggering report.. "
curl -s -X POST "http://aaa.bbb"
echo -e \ '\
'

我讀到-e啟用反斜杠轉義。但是,不確定為什麼外面有一個反斜杠,以及為什麼引號內只有一個反斜杠而不是 \n

第二個echo等效於以下更便攜的命令:

printf ' \\\n\n'

這會輸出一個空格、一個反斜杠和兩個文字換行符。

作為比較,該echo命令通過輸出轉義空格以及文字反斜杠和文字換行符來輸出這些字元。預設情況下,第二個換行符添加到輸出中echo。初始空格需要轉義,因為它不是任何帶引號的字元串的一部分(否則它將被 shell 將命令拆分為單詞將其刪除),並且反斜杠需要在單個帶引號的字元串中,否則它將轉義下一個字元.

命令中使用的-e選項在這裡什麼都不做,可以刪除。

echo(in )的等效公式bash

echo -e ' \\\n'
echo ' \
'
echo -n -e ' \\\n\n'
echo -n ' \

'

也可以看看:

引用自:https://unix.stackexchange.com/questions/713248