shell中EOF的用法

<<EOF
(內容)
EOF


意思是把內容當作標準輸入傳給程序。

當s h e l l看到< <的時候,它就會知道下一個詞是一個分界符。在該分界符以後的內容都被當作輸入,直到s h e l l又看到該分界符(位於單獨的一行)。這個分界符可以是你所定義的任何字符串。


cat > 1.txt <<EOF  與   cat <<EOF > 1.txt    效果一樣的,都是將<<EOF之後的內容覆蓋到1.txt文件中


<<EOF和<<-EOF的區別

例:

cat aaa.sh
#!/bin/bash
cat > 1 <<-abc123
    Hello , Word!#前面是tab,不是空格
    abc123       #前面是tab,不是空格

sh aaa.sh && cat 1

Hello , Word!


cat bbb.sh
#!/bin/bash
cat > 2 <<abc123
    Hello , Word!#前面是tab,不是空格
    abc123       #前面是tab,不是空格

sh bbb.sh && cat 2

   Hello , Word!

   abc123

可見,分界符前面的"-",可以使得輸入內容不必頂格輸入












發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章