Shell腳本——cat/EOF輸出多行

在某些場合,可能咱們須要在腳本中生成一個臨時文件,而後把該文件做爲最終文件放入目錄中。(可參考ntop.spec文件)這樣有幾個好處,其中之一就是臨時文件不是惟一的,能夠經過變量賦值,也可根據不一樣的判斷生成不一樣的最終文件等等。

1、cat和EOF
cat命令是linux下的一個文本輸出命令,一般是用於觀看某個文件的內容的;
EOF是「end of file」,表示文本結束符。
結合這兩個標識,便可避免使用多行echo命令的方式,並實現多行輸出的結果。

2、使用
看例子是最快的熟悉方法:linux

# cat << EOF > test.sh
> #!/bin/bash
> #you Shell script writes here.
> EOFbash


結果:ip

引用it

# cat test.sh
#!/bin/bash
#you Shell script writes here.test


能夠看到,test.sh的內容就是cat生成的內容。

3、其餘寫法
一、追加文件
變量

# cat << EOF >> test.shfile


二、換一種寫法sdk

# cat > test.sh << EOF引用


三、EOF只是標識,不是固定的方法

# cat << HHH > iii.txt
> sdlkfjksl
> sdkjflk
> asdlfj
> HHH


這裏的「HHH」就代替了「EOF」的功能。結果是相同的。

引用

# cat iii.txt
sdlkfjksl
sdkjflk
asdlfj


四、非腳本中
若是不是在腳本中,咱們能夠用Ctrl-D輸出EOF的標識

# cat > iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk
Ctrl-D


結果:

引用

# cat iii.txt
skldjfklj
sdkfjkl
kljkljklj
kljlk

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

相關文章
相關標籤/搜索