Shell指令碼 cat EOF輸出多行

2021-09-06 22:25:38 字數 1289 閱讀 2328

在某些場合,可能我們需要在指令碼中生成乙個臨時檔案,然後把該檔案作為最終檔案放入目錄中。(可參考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

※關於「>」、「>>」、「<」、「<<」等的意思,請自行檢視bash的介紹

Shell指令碼輸出顏色

輸出顏色可以美化介面 給人愉快的心情,哈 指令碼可以這樣寫 bin bash 先定義一些顏色 red e 0 31m 紅色 red e 1 31m green e 0 32m 綠色 green e 1 32m yellow e 0 33m 黃色 yellow e 1 33m blue e 0 34m...

SHELL指令碼的echo輸出顏色

echo顯示帶顏色,需要使用引數 e 格式如下 echo e 033 字背景顏色 文字顏色m字串 033 0m 例如 echo e 033 41 37m tonyzhang 033 0m 其中41的位置代表底色,37的位置是代表字的顏色 注 1 字背景顏色和文字顏色之間是英文的 2 文字顏色後面有個...

shell指令碼輸出帶顏色字型

輸出特效格式控制 033 0m 關閉所有屬性 033 1m 設定高亮度 03 4m 下劃線 033 5m 閃爍 033 7m 反顯 033 8m 消隱 033 30m 033 37m 設定前景色 033 40m 033 47m 設定背景色 游標位置等的格式控制 033 na 游標上移n行 03 nb...