Linux Shell學習筆記(一)

2021-06-06 15:24:40 字數 1777 閱讀 8421

shell指令碼通常是乙個以

#!開始的文字檔案,在bash中,每個命令或是命令序列是通過使用分號或換行符來分隔的。字元#指明注釋的開始。注釋部分以#為起始,一直延續到行尾。

1.終端列印

1.1.1 echo

echo是用於終端列印的基本命令,在預設情況下,echo在每次呼叫後會新增乙個換行符。

$ echo "hello world"

hello world

可以使用

-n來忽略結尾的換行符

$ echo -n "hello world"

hello worldbrian@ubuntu:~$

echo同樣接受雙引號字串內轉義序列(escape sequence)作為引數, 如果需要使用轉義序列,則採用

echo -e

$ echo -e "1\t2\t3"

1    2    3

列印彩色輸出

在終端可以列印彩色輸出,我們可以使用轉義序列來實現

每種顏色都有對應的顏色碼。比如:重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37

要列印彩色文字,可以輸入如下命令

echo -e "\e[1; 31m this is red text \e[0m"  

$ echo -e "\e[1;31m this is red text \e[0m"

this is red text

\e[1;31m將顏色設定為紅色,\e[0m將顏色重新置回。設定其他顏色只需要替換顏色碼就ok啦

如果把\e[1;31m中的1;去掉將會發生什麼情況?

echo -e "\e[31m this is red text \e[0m"

this is red text

看到變化了嗎?字型變得纖細而且暗淡,但顏色不變。

要設定彩色背景,經常使用的顏色碼是:重置=0,黑色=40,紅色=41,綠色=42,黃色=43,藍色=44,洋紅=45,青色=46,白色=47

列印彩色背景,可以輸入如下命令:

echo -e "\e[1;42m green background \e[0m"

$ echo -e "\e[1;42m green background \e[0m"

green background

去掉\e[1;42m中的1;後,字型纖細而且暗淡,但背景色不變。

$ echo -e "\e[42m green background \e[0m"

green background

1.1.2 printf

在預設情況下,printf並不會像echo那樣自動新增換行符,我們必須在需要的時候手動新增。另外,printf還可以指定字串的寬度,左右對齊方式等。

如下指令碼內容:

#!/bin/bash

#檔名稱printf.sh

printf "%-5s %-10s %-4s\n" no name mark

printf "%-5s %-10s %-4.2f\n" 1 sarach 80.3456

我們會得到如下格式化的輸出:

$ ./printf.sh

no    name       mark

1       sarach     80.35

符號「-」表示左對齊。

1.1.3 變數的取用

用echo就可以讀出變數,只是需要在變數名稱前加$符號,或者是以 $ 的方式取用都可以!

ex:echo $path 或者 echo $

Linux shell程式設計學習筆記(一)

bin bash 申明這是乙個shell指令碼檔案 1 接檔名.sh的方式執行 2 bin sh 檔名.sh 區別 第一種直接以點斜槓執行的方式,有時候需要先賦予檔案可執行許可權,第二種方式則可以直接執行,不需要賦予執行許可權 1 變數定義 直接a 123或者file d xuexi 即可 2 變數...

linux shell學習筆記

shell程式 將一系列linux程式通過流程控制寫在乙個文字檔案中,由shell讀取此文字檔案並且依次執行檔案中的程式。例子 bin bash 代表shell程式的注釋 echo hello linux echo this is a shell file.shell程式中需要用變數來儲存程式中的資...

Linux Shell學習筆記六

第八學時 引用 術語引用 引用即是將被選擇文字用某種型別的引用標記括起來,從而使得被選擇文字變成文字字元。轉義 轉義乙個字元意味著該字元前加乙個反斜線 從而轉義或者去除了shell命令中該字元的特殊含 義,或者正如讀者在echo命令中看到的 n 一樣增加特殊含義。跟在反斜線後的字元被稱為轉義字元。特...