標籤:使用 sp strong 檔案 div on bs linux as
在某些場合,可能我們需要在指令碼中產生一個臨時檔案,然後把該檔案作為最終檔案放入目錄中。(可參考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
zhaoxiao
EOF#./test.shhello
zhao
xiao
cat命令和EOF標識輸出shell到檔案