cat命令和EOF標識輸出shell到檔案

2022-07-27 08:42:18 字數 1619 閱讀 4849

在某些場合,可能我們需要在指令碼中生成乙個臨時檔案,然後把該檔案作為最終檔案放入目錄中。(可參考ntop.spec檔案)這樣有幾個好處,其中之一就是臨時檔案不是唯一的,可以通過變數賦值,也可根據不同的判斷生成不同的最終檔案等等。

一、cat和eof

cat命令是linux下的乙個文字輸出命令,通常是用於**某個檔案的內容的;

eof是「end of file」,表示文字結束符。

結合這兩個標識,即可避免使用多行echo命令的方式,並實現多行輸出的結果。

二、使用

看例子是最快的熟悉方法:

# cat << eof > test.sh

> #!/bin/bash

> #you shell script writes here.

> eof

結果:引用

# cat test.sh

#!/bin/bash

#you shell script writes here.

可以看到,test.sh的內容就是cat生成的內容。

三、其他寫法

1、追加檔案

# cat << eof >> test.sh

2、換一種寫法

# cat > test.sh << eof

3、eof只是標識,不是固定的

# cat << hhh > iii.txt

> sdlkfjksl

> sdkjflk

> asdlfj

> hhh

這裡的「hhh」就代替了「eof」的功能。結果是相同的。

引用# cat iii.txt

sdlkfjksl

sdkjflk

asdlfj

4、非指令碼中

如果不是在指令碼中,我們可以用ctrl-d輸出eof的標識

# cat > iii.txt

skldjfklj

sdkfjkl

kljkljklj

kljlk

ctrl-d

結果:引用

# cat iii.txt

skldjfklj

sdkfjkl

kljkljklj

kljlk

自己看了這個例子後,寫給了個測試程式一併貼出:

1.#test.sh

#!/bin/sh

cat << eof > xiaozhao.txt

hello

zhao

xiao

eof#./test.sh

在當前目錄下生成xiaozhao.txt檔案。

# cat xiaozhao.txt

hello

zhao

xiao   

2.修改test.sh 為

#!/bin/sh

cat << eof

hello

zhao

xiao

eof#./test.sh

hello

zhao

xiao

使用cat命令和EOF標識輸出多行檔案

在某些場合,可能我們需要在指令碼中生成乙個臨時檔案,然後把該檔案作為最終檔案放入目錄中。可參考ntop.spec檔案 這樣有幾個好處,其中之一就是臨時檔案不是唯一的,可以通過變數賦值,也可根據不同的判斷生成不同的最終檔案等等。一 cat和eof cat命令是linux下的乙個文字輸出命令,通常是用於...

使用cat命令和EOF標識輸出多行檔案 不指定

原 使用cat命令和eof標識輸出多行檔案 在某些場合,可能我們需要在指令碼中生成乙個臨時檔案,然後把該檔案作為最終檔案放入目錄中。可參考ntop.spec檔案 這樣有幾個好處,其中之一就是臨時檔案不是唯一的,可以通過變數賦值,也可根據不同的判斷生成不同的最終檔案等等。一 cat和eof cat命令...

cat命令和tac命令

cat命令 連線檔案並列印到標準輸出裝置上,cat經常用來顯示檔案的內容。注意 當檔案較大時,文字在螢幕上迅速閃過 滾屏 使用者往往看不清所顯示的內容。因此,一般用more等命令分屏顯示。為了控制滾屏,可以按ctrl s鍵,停止滾屏 按ctrl q鍵可以恢復滾屏。按ctrl c 中斷 鍵可以終止該命...