Linux中echo的直譯器問題

2021-10-16 03:20:44 字數 837 閱讀 9858

在linux終端中執行echo -e會顯示-e

在vim中寫的指令碼是這樣的

#!/bin/sh

#read name

#echo "$name it is a test"

echo -e "ok! \n "

echo

"it is a test"

這一串**在bash中執行,會顯示出-e

-e ok! 

it is a test

剛開始以為是預設自動開啟了轉義

man echo

發現預設的是 不自動轉義,排除這個可能。

然後我又在命令列中直接輸出

echo -e "ok! \n"
又正常了,不會有多餘的-e。

我試著把vim中的指令碼改為用bash執行

#!/bin/bash
結果顯示正確。

我在網上學習的時候,教程裡面說不區分bourne shell 和 bourne again shell,試驗下來感覺還是有區別的。

本教程關注的是 bash,也就是 bourne again shell,由於易用和免費,bash 在日常工作中被廣泛使用。同時,bash 也是大多數linux 系統預設的 shell。

在一般情況下,人們並不區分 bourne shell 和 bourne again shell,所以,像 #!/bin/sh,它同樣也可以改為 #!/bin/bash。

#! 告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式。

Linux中echo的用法以及echo顏色應用

name echo display a line of text 顯示一段文字 description n do not output the trailing newline 不換行輸出 e enable interpretation of backslash escapes 開啟解釋轉譯字元 e...

linux中的echo命令

承接上一章所介紹的command line 這裡我們用echo這個命令加以進一步說明。標準的command line包含三個部件 command name options argument echo是乙個非常簡單 直接的linux命令 將argument送出至標準輸出 stdout 通常就是在顯示器...

linux中echo的用法

1.echo命令我們常用的選項有兩個,乙個是 n,表示輸出之後不換行,另外乙個是 e,表示對於轉義字元按相應的方式處理,如果不加 e那麼對於轉義字元會按普通字元處理。2.echo輸出時的轉義字元 b表示刪除前面的空格 n表示換行 t表示水平製表符 v表示垂直製表符 c c後面的字元將不會輸出,同時,...