echo > 和 echo >>的區別


在操作系統中,我們經常會遇到命令操作符>(輸出重定向)和>>(輸出追加重定向)。

很多新手小伙伴在接觸的時候,總是困惑輸出重定向(>)和輸出追加重定向(>>)的區別,下面小編就和大家一起分享,>和>>的區別。

百度經驗:jingyan.baidu.com

工具/原料

 
  • windows或者linux

百度經驗:jingyan.baidu.com

方法/步驟

 
  1. 這里小編就以windows為例(unix/linux也是一樣)

    echo的作用:

    echo的作用其實很簡單,就是打印字符串到輸出文件流。

    例如:

    echo Hello,Binn

    如圖,執行之后,終端會打印出echo的參數,即Hello,Binn

  2. >操作符輸出重定向的作用:

    echo + 輸出重定向的用法:

    echo 參數 > 輸出文件

    echo Hello,Binn > tmp.txt

    這句話的意思即是:輸出Hello,Binn字符串到一個位置,如果tmp.txt存在,我們即【清空其內容,更新為Hello,Binn】,不存在,創建之

    這個過程,echo沒有像之前那樣向終端打印參數,為什么?

    原因是因為,>輸出重定向把echo的參數輸出到某個文件(而不是輸出到終端,這就是輸出重定向)。

  3. 此時我們看看tmp.txt的內容。

    type tmp.txt

    (linux/unix請用cat)

    這是不是我們剛剛echo要輸出的內容呢?沒錯,就是這個。

  4. 操作符>>輸出追加重定向和>輸出重定向功能類似。

    相同的地方是:如果重定向的文件不存在,創建之

    唯一不同的地方是:【如果重定向的文件存在,追加之(>符是清空后新增內容,>>是在文件末尾追加字符串)】

    我們這樣做個試驗,更容易理解。

     

    6步,仔細觀察,很容易就能理解。

     

    1、輸出重定向a到tmp.txt:

      echo Hello,A > tmp.txt

    2、查看tmp.txt的內容(此時的內容是A)

      type tmp.txt  

     

    3、輸出重定向b到tmp.txt

      echo Hello,B > tmp.txt

    4、查看tmp.txt的內容(此時可以看到,>已經把A替換成B了)

      type tmp.txt

     

    5、輸出追加重定向c到tmp.txt

      echo Hello,C >> tmp.txt

    6、查看tmp.txt的內容(此時可以看到,原來的字符串B並沒有被替換,而是在B的下一行新增字符串C,即追加操作)

      type tmp.txt

     

    不多說,一步一步來。

  5. 第三步和第四步:

    3、輸出重定向b到tmp.txt

      echo Hello,B > tmp.txt

    4、查看tmp.txt的內容(此時可以看到,>已經把A替換成B了)

      type tmp.txt

  6. 第五步和第六步:

    5、輸出追加重定向c到tmp.txt

      echo Hello,C >> tmp.txt

    6、查看tmp.txt的內容(此時可以看到,原來的字符串B並沒有被替換,而是在B的下一行新增字符串C,即追加操作)

      type tmp.txt

     

    做到這里相信小伙伴已經明白重定向和追加重定向的區別。

    END


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM