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