首頁 >運維 >linux運維 >linux的eof是什麼意思

linux的eof是什麼意思

藏色散人
藏色散人原創
2023-04-13 10:53:524032瀏覽

linux的eof是自訂終止符,其全名是「END Of File」;eof不是固定的,可以隨意設定別名,在linux中按「ctrl-d」就代表eof;eof一般會配合cat,能夠輸出多行文字。

linux的eof是什麼意思

本教學操作環境:linux5.9.8系統、Dell G3電腦。

linux的eof是什麼意思?

shell基礎EOF的用法

一、EOF的用法

EOF是(END Of File)的縮寫,表示自訂終止符。既然自訂,那麼EOF就不是固定的,可以隨意設定別名,在linuxctrl-d 就代表EOF

EOF一般會配合cat能夠多行文字輸出。

其用法如下:

#<##開始

#....                  ##輸入內容

#結束也可以自訂,例如自訂:

<#開始

....

ABC             

#結束

##透過cat配合重定向能夠產生檔案並追加操作,在它之前先熟悉幾個特殊符號

< :輸入重定向

>:輸出重定向

>> :輸出重定向,進行追加,不會覆寫先前內容

< ;<:標準輸入來自命令列的一對分隔號碼的中間內容

範例1

[root@ren5 ~]# cat <

> ; hello

> EOF

#hello

我們知道cat的操作物件是文件,但是範例1cat的操作物件不是文件,而是用戶輸入;那我們可以這樣理解範例1:先在檔案file中輸入“Hello”,再用cat file輸出其中的內容。

也就是說我們可以用一個檔案來取代"<< EOF EOF"

反過來說,如果操作指令中的檔案是輸入對象,也可以用"<< EOF EOF"來替代的。

範例2

#[root@ren5 ~]# cat 1.txt

abc

[root@ren5 ~]# cat < 1.txt          向檔案1.txt輸入覆蓋內容(也可以:cat > 1.txt <

> 123

> 456

> 678

#> LOL

> EOF

[root@ren5 ~]# cat 1.txt

123

456

678

LOL

<< EOF EOF」的作用是在命令執行過程中使用者自訂輸入,它類似於起到一個臨時檔案的作用,只是比使用文件更方便靈活。

二、cat <

兩者都是取得 stdin,並在EOF處結束stdin,輸出stdout

在我們使用cat <時,我們輸入完成後,需要在一個新的一行輸入 EOF結束stdin的輸入。 EOF必須頂行寫,前面不能用製表符或空格。

如果重定向的運算子是<<-,那麼分界符( EOF)所在行的開頭部分的製表符(Tab)都會被移除。 這可以解決由於腳本中的自然縮排產生的製表符

範例1#:

#[root@ren5 ~]# cat 2.sh#

#!/bin/bash

cat <

你好,EOF

EOF

[root@ren5 ~]# sh 2.sh

##你好,EOF

[root@ren5 ~]# sh 2.sh

2.sh:4 : 警告:立即文件在第 2 行被文件結束符號分隔 (需要 `EOF')

你好,EOF

      EOF

#如果結束分解符號EOF前有製錶符號或空格,則EOF不會被當作結束分界符,只會繼續被當作stdin來輸入。

範例2#:

[root@ren5 ~]# cat 2.sh

##!/bin/bash

cat << -EOF

你好,EOF

      EOF

#[root@ren5 ~]# sh 2.sh

#你好,EOF

雖然最後的EOF前面有多個製表符和空格,但還是會被當作結束分界符,表示stdin的結束。

推薦學習:《linux影片教學#

以上是linux的eof是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn