> 在終端機中是什麼意思!

> 在終端機中是什麼意思!

當我輸入某個命令時,有時我會得到如下所示的輸出。

>
>
>
>

> 符號到底指的是什麼。

答案1

您的案例

在這種情況下,“>”符號意味著終端在您點擊後需要更多輸入進入鑰匙。

就您而言,您有一個尚未關閉的字串。例如,如果我輸入以下命令echo "Hello,然後按 Enter,它會給我一個“>”,直到我關閉該字串。例子:

如果我輸入:

eric@Ubuntu: /home/eric$ echo "Hello
>what?
>single quotes won't close it?'
>but double quotes will! "

它將列印出以下輸出:

Hello
what?
single quotes won't close it?'
but double quotes will! "

這允許您擁有跨越多行的字串,而無需明確鍵入“\n”換行符。

額外的信息

事實上,該提示符號會列印出“>”,而不是由$PS2環境變數設定其他內容。如果您設定$PS2為其他內容,那麼系統會提示您。

顯示此提示的另一種方法是在行末尾添加反斜線(“\”)。它基本上將兩行連接在一起,例如以下兩行:

eric@Ubuntu: /home/eric$echo "Hello \
>There my friend"

將被處理為eric@Ubuntu: /home/eric$echo "Hello There my friend"並且只是輸出Hello There my friend

這兩種方法都用於以更具可讀性的方式格式化程式碼。最初幾次看到它可能會令人沮喪,因為您並不真正知道是什麼原因導致的,但是當嘗試編寫更長的程式碼或程式碼的輸出可讀時,它們都會派上用場。

答案2

管道也可用於將資訊附加到文件中,例如,如果您要在終端機中鍵入以下內容

echo "Test Line" > test.txt

這會將 test.txt 檔案的內容設為“測試行”,並在末尾新增換行符。如果該文件尚不存在,則會建立該文件。

echo "Test Line" >> test.txt

這會將「測試行」和換行符號新增至 test.txt 檔案的結尾(如果存在)。如果它不存在,那麼文件將被創建為空,然後這一行將被添加到其中。

答案3

>意味著將流重定向到

>>意味著重定向到但在最後

它僅適用於標準輸出

2>適用於標準錯誤,顯然使用1>>

標準輸出是正常程式的輸出,標準錯誤是程式的錯誤輸出。所以有兩個輸出。您可以使用重定向兩個輸出&>

更多資訊在這裡http://www.tldp.org/LDP/abs/html/io-redirection.html

相關內容