在Jenkins的幫助下讓我們的應用CI與CD
阿新 • • 發佈:2020-11-25
20.11.25
影響顯示結果的語系變數 (locale)
locale -a
:顯示Linux 支援了多少語系
locale
:當前語系的配置
[root@www ~]# locale <==後面不加任何選項與引數即可! LANG=en_US <==主語言的環境 LC_CTYPE="en_US" <==字元(文字)辨識的編碼 LC_NUMERIC="en_US" <==數字系統的顯示資訊 LC_TIME="en_US" <==時間系統的顯示資料 LC_COLLATE="en_US" <==字串的比較與排序等 LC_MONETARY="en_US" <==幣值格式的顯示等 LC_MESSAGES="en_US" <==資訊顯示的內容,如選單、錯誤資訊等 LC_ALL= <==整體語系的環境
變數鍵盤讀取、陣列與宣告: read, array, declare
read [-pt] variable
:命令用於從標準輸入讀取數值
選項與引數:
-p :後面可以接提示字元!
-t :後面可以接等待的『秒數!』這個比較有趣~不會一直等待使用者啦!
declare / typeset
:declare 或 typeset 是一樣的功能,宣告變數的型別
選項與引數: -a :將後面名為 variable 的變數定義成為陣列 (array) 型別 -i :將後面名為 variable 的變數定義成為整數數字 (integer) 型別 -x :用法與 export 一樣,就是將後面的 variable 變成環境變數; -r :將變數配置成為 readonly 型別,該變數不可被更改內容,也不能 unset
var[index]=content
:陣列 (array) 變數型別
範例:
[root@www ~]# var[1]="small min"
[root@www ~]# var[2]="big min"
[root@www ~]# var[3]="nice min"
[root@www ~]# echo "${var[1]}, ${var[2]}, ${var[3]}"
small min, big min, nice min
與檔案系統及程式的限制關係: ulimit
ulimit [-SHacdfltu] [配額]
:限制使用者的某些系統資源
選項與引數: -H :hard limit ,嚴格的配置,必定不能超過這個配置的數值; -S :soft limit ,警告的配置,可以超過這個配置值,但是若超過則有警告資訊。 在配置上,通常 soft 會比 hard 小,舉例來說,soft 可配置為 80 而 hard 配置為 100,那麼你可以使用到 90 (因為沒有超過 100),但介於 80~100 之間時, 系統會有警告資訊通知你! -a :後面不接任何選項與引數,可列出所有的限制額度; -c :當某些程式發生錯誤時,系統可能會將該程式在記憶體中的資訊寫成檔案(除錯用), 這種檔案就被稱為核心檔案(core file)。此為限制每個核心檔案的最大容量。 -f :此 shell 可以建立的最大檔案容量(一般可能配置為 2GB)單位為 Kbytes -d :程式可使用的最大斷裂記憶體(segment)容量; -l :可用於鎖定 (lock) 的記憶體量 -t :可使用的最大 CPU 時間 (單位為秒) -u :單一使用者可以使用的最大程式(process)數量。
範例一:列出你目前身份(假設為root)的所有限制資料數值
[root@www ~]# ulimit -a
core file size (blocks, -c) 0 <==只要是 0 就代表沒限制
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited <==可建立的單一檔案的大小
pending signals (-i) 11774
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024 <==同時可開啟的檔案數量
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 11774
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
變數內容的刪除、取代與替換
變數配置方式 | 說明 |
---|---|
${變數#關鍵詞} ${變數##關鍵詞} | 若變數內容從頭開始的資料符合『關鍵詞』,則將符合的最短資料刪除 若變數內容從頭開始的資料符合『關鍵詞』,則將符合的最長資料刪除 |
${變數%關鍵詞} ${變數%%關鍵詞} | 若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最短資料刪除 若變數內容從尾向前的資料符合『關鍵詞』,則將符合的最長資料刪除 |
${變數/舊字串/新字串} ${變數//舊字串/新字串} | 若變數內容符合『舊字串』則『第一個舊字串會被新字串取代』 若變數內容符合『舊字串』則『全部的舊字串會被新字串取代』 |
先讓小寫的 path 自定義變數配置的與 PATH 內容相同
[root@www ~]# path=${PATH}
[root@www ~]# echo $path
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:
/usr/sbin:/usr/bin:/root/bin
假設我不喜歡 kerberos,所以要將前兩個目錄刪除掉,如何顯示?
[root@www ~]# echo ${path#/*kerberos/bin:}
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin