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
  • C#TMS系統代碼-基礎頁面BaseCity學習 本人純新手,剛進公司跟領導報道,我說我是java全棧,他問我會不會C#,我說大學學過,他說這個TMS系統就給你來管了。外包已經把代碼給我了,這幾天先把增刪改查的代碼背一下,說不定後面就要趕鴨子上架了 Service頁面 //using => impo ...
  • 委托與事件 委托 委托的定義 委托是C#中的一種類型,用於存儲對方法的引用。它允許將方法作為參數傳遞給其他方法,實現回調、事件處理和動態調用等功能。通俗來講,就是委托包含方法的記憶體地址,方法匹配與委托相同的簽名,因此通過使用正確的參數類型來調用方法。 委托的特性 引用方法:委托允許存儲對方法的引用, ...
  • 前言 這幾天閑來沒事看看ABP vNext的文檔和源碼,關於關於依賴註入(屬性註入)這塊兒產生了興趣。 我們都知道。Volo.ABP 依賴註入容器使用了第三方組件Autofac實現的。有三種註入方式,構造函數註入和方法註入和屬性註入。 ABP的屬性註入原則參考如下: 這時候我就開始疑惑了,因為我知道 ...
  • C#TMS系統代碼-業務頁面ShippingNotice學習 學一個業務頁面,ok,領導開完會就被裁掉了,很突然啊,他收拾東西的時候我還以為他要旅游提前請假了,還在尋思為什麼回家連自己買的幾箱飲料都要叫跑腿帶走,怕被偷嗎?還好我在他開會之前拿了兩瓶芬達 感覺感覺前面的BaseCity差不太多,這邊的 ...
  • 概述:在C#中,通過`Expression`類、`AndAlso`和`OrElse`方法可組合兩個`Expression<Func<T, bool>>`,實現多條件動態查詢。通過創建表達式樹,可輕鬆構建複雜的查詢條件。 在C#中,可以使用AndAlso和OrElse方法組合兩個Expression< ...
  • 閑來無聊在我的Biwen.QuickApi中實現一下極簡的事件匯流排,其實代碼還是蠻簡單的,對於初學者可能有些幫助 就貼出來,有什麼不足的地方也歡迎板磚交流~ 首先定義一個事件約定的空介面 public interface IEvent{} 然後定義事件訂閱者介面 public interface I ...
  • 1. 案例 成某三甲醫預約系統, 該項目在2024年初進行上線測試,在正常運行了兩天後,業務系統報錯:The connection pool has been exhausted, either raise MaxPoolSize (currently 800) or Timeout (curren ...
  • 背景 我們有些工具在 Web 版中已經有了很好的實踐,而在 WPF 中重新開發也是一種費時費力的操作,那麼直接集成則是最省事省力的方法了。 思路解釋 為什麼要使用 WPF?莫問為什麼,老 C# 開發的堅持,另外因為 Windows 上已經裝了 Webview2/edge 整體打包比 electron ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • .Net8.0 Blazor Hybird 桌面端 (WPF/Winform) 實測可以完整運行在 win7sp1/win10/win11. 如果用其他工具打包,還可以運行在mac/linux下, 傳送門BlazorHybrid 發佈為無依賴包方式 安裝 WebView2Runtime 1.57 M ...