linux命令_echo

来源:https://www.cnblogs.com/ivanlee717/archive/2022/05/24/16305161.html
-Advertisement-
Play Games

echo echo 命令是 Linux bash 和 C shell中最常用的內置命令之一,通常用於腳本語言和批處理文件,用於標準輸出以及顯示文本內容等。echo命令在生產環境腳本中還是使用的非常多的,很多時候都要查看腳本執行是否正常,以及腳本執行到哪裡,都是通過echo命令來列印來定位 。 在寫腳 ...


echo

echo 命令是 Linux bash 和 C shell中最常用的內置命令之一,通常用於腳本語言和批處理文件,用於標準輸出以及顯示文本內容等。echo命令在生產環境腳本中還是使用的非常多的,很多時候都要查看腳本執行是否正常,以及腳本執行到哪裡,都是通過echo命令來列印來定位 。

在寫腳本之前,我們需要學習一下 Linux 的列印命令 echo。該命令格式如下:

[root@localhost ~]# echo [選項] [輸出內容]

選項:

  • -e:支持反斜線控制的字元轉換
  • -n:取消輸出後行末的換行符號(內容輸出後不換行)

示例1:普通列印

[root@localhost ~] echo ivanlee
ivanlee
[root@localhost ~] echo 'ivanlee'
ivanlee
[root@localhost ~] echo "ivanlee"
ivanlee

示例2: -n選項

image-20220524103920606

取消換行符之後輸出內容和新的輸入框緊挨著

示例3: -e選項

控制字元 作用
\\ 輸出\本身這個字元
\a 輸出警告音
\b 退格鍵,也就是向左刪除鍵
\c 取消輸出行末的換行符。和“-n”選項一致
\e Esc鍵
\f 換頁符
\n 換行符
\r 回車鍵,游標移至行首,但不換行
\t 插入 tab製表符,Tab鍵
\v 垂直製表符
\0nnn 按照八進位 ASCII 碼表輸出字元。其中 0 為數字 0,nnn 是三位八進位數
\xnn 按照十六進位 ASCH 碼表輸出字元。其中 hh 是兩位十六進位數
  • echo -e "\\ \a" 輸出斜杠本身,以及會聽到“bo~”的一聲警告音

    ivanlee[root@localhost ~] echo -e "\\ \a"
    \     
    
  • echo -e "ab/bc"會輸出ac,因為\b代表向左刪除一個鍵

    [root@localhost ~] echo -e "ab\bc"
    ac
    [root@localhost ~] echo -e "123\b\b4567"
    14567
    
  • `echo -e "123456\c" 換行

    [root@localhost ~] echo -e "1234456\c"
    1234456[root@localhost ~]# 
    
  • echo -e "ivan\elee"終止輸出

    [root@localhost ~] echo -e "ivan\elee"
    ivan
    
  • echo -e "ivan\nlee"換行輸出

    [root@localhost ~] echo -e "ivan\nlee"
    ivan
    lee
    
  • echo -e \r 使用 echo 命令輸出 "\r" 轉義字元,表示使用 "\r" 後面的字元覆蓋 "\r" 之前的同等長度的字元。

    [root@localhost ~] echo -e "12345\r6789"  覆蓋等長的長度!
    67895
    [root@localhost ~] echo -e "12345\r56789"
    56789
    
  • echo -e \t輸出內容會成為表格的形式

    [root@localhost ~] echo -e "a\tb\tc\nd\te\tf\n" |
    a	b	c                                           |
    d	e	f                                           |
    ------------------------------------------------|-------------------- |
    [root@localhost ~] echo -e "\0141\t\0142\t\0143\n\0144\t\0145\t\0146" |
    a	b	c                                                                 |
    d	e	f                                                                 |
    還是會輸出上面的內容,不過是按照制ASCII碼輸出的                              |
    ---------------------------------------------------------------|------|
    [root@localhost ~] echo -e "\x61\t\x62\t\x63\n\x64\t\x65\t\x66"|
    a	b	c                                                          |
    d	e	f                                                          |
    如果按照十六進位ASCII碼同樣可以輸出                                 |
    
  • echo -e -v

    [root@localhost ~] echo -e "a\vb\vc\nd\ve\vf"
    a
     b
      c
    d
     e
      f
    

示例4:ls功能

  • echo * 會輸出當下目錄的所有文件和子目錄,不過不會換行

    [root@localhost etc] echo *
    adjtime aliases aliases.db alternatives ambot-installing ambot-install-machine ambot-machine-id anacrontab asciidoc asound.conf audisp audit bash_completion.d bashrc binfmt.d centos-release centos-release.bak centos-release-upstream chkconfig.d cron.d cron.daily
    

示例5:列印內容中帶有雙引號

[root@localhost etc] echo "hello \"world\""
hello "world"

示例6:重定向到文件+時間表示法

[root@localhost ~] echo $(date)
Tue May 24 11:15:05 CST 2022
[root@localhost ~] echo $(date "+%Y-%m-%d %H:%M:%S")
2022-05-24 11:15:17
[root@localhost ~] echo $(date "+%Y-%m-%d %H:%M:%S") > time.txt  文件不存在時會自動創建文件
[root@localhost ~] cat time.txt 
2022-05-24 11:15:35

示例7:顏色輸出

命令行方式echo -e "\e[背景顏色;文字顏色;顯示方式m字元串\e[0m"

echo -e "\033[41;37m ivanlee \033[0m", 其中41的位置代表底色, 37的位置是代表字的顏色

註:
1、字背景顏色和文字顏色之間是英文的“""”
2、文字顏色後面有個m
3、字元串前後可以沒有空格,如果有的話,輸出也是同樣有空格

字體顏色 格式:echo -e "\033[fontcolor;字元串內容\033[0m"
背景著色 格式:echo -e "\033[backcolor; 字元串內容\033[0m"
同時設置字體和背景顏色 格式:echo -e "\033[backcolor;fontcolor 字元串內容\033[0m"

顏色具體內容:

      文字      背景
黑色:	30         40

紅色:	31         41

綠色:	32         42

黃色:	33         43

藍色:	34         44 

粉色:	35         45

青色:	36         46

白色:	37         47

灰色:	38         48

特殊情況:

      97(文字):比37更淺的白色

      90,92,93,94,96(文字):不同深淺的灰色

      91(文字):橙色

      95(文字):紫色

      文字為41-47時,文字顏色為灰色,背景顏色為31-37的顏色
最後面控制選項說明 
  \033[0m 關閉所有屬性
  \033[1m 設置高亮度
  \033[4m 下劃線
  \033[5m 閃爍
  \033[7m 反顯
  \033[8m 消隱
  \033[30m — \33[37m 設置前景色
  \033[40m — \33[47m 設置背景色
  \033[nA 游標上移n行
  \033[nB 游標下移n行
  \033[nC 游標右移n行
  \033[nD 游標左移n行
  \033[y;xH設置游標位置
  \033[2J 清屏
  \033[K 清除從游標到行尾的內容
  \033[s 保存游標位置
  \033[u 恢復游標位置
  \033[?25l 隱藏游標
  \033[?25h 顯示游標
  • 無屬性輸出

    image-20220524113030181

  • 閃爍 一直閃爍

    image-20220524113454527

image-20220524123709534

本文來自博客園,作者:ivanlee717,轉載請註明原文鏈接:https://www.cnblogs.com/ivanlee717/p/16305161.html


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 今天遇到一個很有意思的bug,當程式開發完成後打包到伺服器運行,總是會出現棧溢出異常 ...
  • 目錄 一.簡介 二.猜你喜歡 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 基礎 零基礎 OpenGL (ES) 學習路線推薦 : OpenGL (ES) 學習目錄 >> OpenGL ES 轉場 零基礎 OpenGL (ES) 學習路 ...
  • 在重新學習java過程中出現的問題進行記錄和總結並分享給大家。 java環境變數配置 註:下載JDK放在英文目錄下 例如: 右鍵我的電腦→屬性→高級系統設置→環境變數 在用戶/系統變數中新建(用戶變數系統變數都可以) 如果用戶變數不行可配置到系統變數 變數值是保存Java的路徑。即在文件夾中找到Ja ...
  • 一 泛型 泛型提供了一種更優雅的方式,可以讓多個類型共用一組代碼。泛型允許我們聲明類型參數化的代碼,可以用不同的類型進行實例化。 也就是說,我們可以用"類型占位符"來寫代碼,然後在創建類的實例時指明真實的類型。 C#提供了5種泛型:類、結構、介面、委托和方法。 二 泛型類 如下代碼聲明瞭一個Some ...
  • .net Core中根據文件路徑和名字將文件轉為流返回給前端提供下載,需要傳入文件路徑(不帶功能變數名稱),和文件名稱(用於下載使用),前端使用<a></a>標簽來進行訪問下載,或者 location.href 來訪問 [ApiController] [Route("[controller]")] publ ...
  • 我們平時在 Linux 中使用 cp 命令時,當把文件從一個目錄複製到另一個目錄,且目錄中具有同名文件時,系統會提示輸入 y 來確認是否覆蓋同名文件。 如果文件少的話,也無關緊要,但文件多的話,要一個一個確認簡直太累了。更要命的是,即使我們加了 -rf 參數,還是會提示。 為什麼會這樣呢? 原因 原 ...
  • 鏡像下載、功能變數名稱解析、時間同步請點擊 阿裡雲開源鏡像站 群暉NAS設置IPV6公網訪問 最近入手了一個群暉nas,記錄下設置公網訪問的過程。 NAS:群暉NAS220+ 路由器:小米AX3600 1、打開路由器上的IPV6功能。 現在路由器預設的還是使用IPV4,IPV6還是需要手動打開的,再去nas ...
  • 解決 Win10 Wsl2 IP 變化問題(2021.2.10) Win10 Wsl2 的 IP 地址每次重啟後都會變化,如果經常需要在 Win10 訪問 Wsl2 內的服務的話會比較麻煩,因此筆者尋找一種解決方案併在此記錄。 1. 產生環境 WSL2; Ubuntu 20.04 focal(on ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...