在看乙個ksh指令碼,由於ksh的特性,一般用在unix系統較多,但使用者群體還是不及bash。
其他沒什麼,基本和bash和sh通用,遇到了乙個很奇怪的檔案狀態判斷:
-s :判斷檔案是否為空
使用後發現,原來和理解大不相同,尤其是放在條件語句中,過程就不多說了,直接給結果:
#!/bin/ksh
file=$1
echo "checking file $file..."
if [[ -s $file ]] ; then
echo "not empty!"
else
echo "empty!"
fi可見該選項-s是乙個負邏輯,和-f -x正邏輯有很大不同。
理由:test -s a.txt # a.txt 為空
返回1理解了吧。。。
所以-s最好理解成 has size 為好~~
注(-s 在系統幫助中的意思是 -s file exists and has a size greater than zero.)
shell中各種奇怪的符號整理
子shell中執行 數值比較,運算,支援正則 i 1 i 3 i commond1 commond2 命令替換 commond 支援運算 1 2 集合,可將命令與字串隔開 變數的引用 檔案測試,數值比較,檔案比較,字串比較 a 且,o 或 增加了對正則的支援,包含,或,且 支援變數運算 2 2 2 ...
(2 8)shell中各種奇怪的符號
usr bin bash read p please input number num num3 123yy num3 0 9 echo 表示 num3變數是否匹配後面的正則模式,表示 如果不是數字,就echo 1 while true do if num 0 9 then 後面是正則比較,不要加 ...
K8S中pod健康狀態的檢查
什麼是 container probes 通過k8s的架構圖,我們可以發現,每個node節點上都有 kubelet 這個元件,container probe 容器探針 也就是容器的健康檢查是由 kubelet 定期執行的。container probe有以下兩種方式,分別為liveness prob...