shell指令碼筆記

2021-08-31 09:47:21 字數 1674 閱讀 2170

#比較 描述

#n1 -eq n2 檢查n1是否與n2相等

#n1 -ge n2 檢查n1是否大於或等於n2

#n1 -gt n2 檢查n1是否大於n2

#n1 -le n2 檢查n1是否小於或等於n2

#n1 -lt n2 檢查n1是否小於n2

#n1 -ne n2 檢查n1是否不等於n2

1.指令碼sh

#!/bin/bash

#檔名: printf.sh

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

printf 「%-5s %-10s %-4.2f\n」 1 sarath 80.3456

printf 「%-5s %-10s %-4.2f\n」 2 james 90.9989

printf 「%-5s %-10s %-4.2f\n」 3 jeff 77.564

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

no name mark

1 sarath 80.35

2 james 91.00

3 jeff 77.56

[root@localhost ~]# sh /printf.sh

no name mark

1 sarath 80.35

2 james 91.00

3 jeff 77.56

其中%-5s指明了乙個格式為左對齊且寬度為5的字串替換(-表示左對齊)。如果不用-指定對齊方式,字串就採用右對齊形式。寬度指定了保留給某個變數的字元數。對name而言,保留寬度是10。因此,任何name欄位的內容都會被顯示在10字元寬的保留區域內,如果內容不足10個字元,餘下的則以空格符填充。對於mark欄位,將其格式化為%-4.2f,其中.2指定保留2個小數字。注意,在每行格式字串後都有乙個換行符(\n)。

2.列印色彩輸出

在終端中生成彩色輸出相當好玩,我們可以使用轉義序列來實現。每種顏色都有對應的顏色碼,比如:重置=0,黑色=30,紅色=31,綠色=32,黃色=33,藍色=34,洋紅=35,青色=36,白色=37

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

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

[root@localhost ~]# echo -e "\e[1;31m this is red text \e[0m"

this is red text 這裡看不出顏色,但其實是紅的

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

3.獲取字串長度

以用下面的方法獲得變數值的長度:

length=$

例如:$ var=12345678901234567890$

echo $

204.使用 shell 進行數**算

1.以用一些方法使它能像數字一樣進行運算。

#!/bin/bash

no1=4;

no2=5;

let result=no1+no2

echo $result

Shell指令碼筆記

1 home目錄下的 bashrc指令碼檔案記錄提示文字顏色等各類設定 2 bash歷史記錄檔案 bash history 3 echo執行之後會新增換行符 4 bash中不會對單引號變數求值,而是原樣輸出 5 echo e 包含轉義序列的字串 6 var value不同於var value,前者是...

shell指令碼筆記

變數 本地變數就是 變數屬性 變數值 注意等號兩邊不能有空格 區域性變數 local 只能應用於函式 環境變數 export用它修飾的 特殊變數 獲取程序的id 獲取引數 獲取某乙個位置的引數 1,2 輸出上一條指令的執行狀態 bashpid 列印當前程序的實行id 位置變數 運算子 算術表示式 e...

shell指令碼 筆記

指令碼 calc.sh echo shell指令碼 計算加減乘除。檔名稱 0 echo 輸入 x,echo 格式示例 sh calc.sh 10 2 a 1 b 2 op 3 echo is if op then echo a b expr a b elif op then echo a b exp...