shell 使用雜記
shell 指令碼在工作中或多或少都會用到。有時候我們只是使用shell實現工作中的乙個功能,並不需要全部學會shell的知識。這篇部落格記錄了我常用的shell功能,記錄的目的是需要用的時候信手拈來。
數值型陣列定義使用一對括號表示定義陣列,元素之間使用「空格」來隔開
numberarray=(1 2 3 4 5);
字串型別陣列
陣列中的元素使用雙引號或者單引號包含,元素之間使用「空格」來隔開。
stringarray=("aaa" "bb" "cc"); 或者 stringarray=('aa' 'bb' 'cc');
獲取陣列長度
arrlength=$或$均可,即形式:$ 可得到陣列的長度。
讀取某個下標的值
arr_index2=$,即形式:$
類似c/c++ 語音的for迴圈for (( i=0; i<5 ; i++ )); do
echo $i
done
for file in ./tmpcert/*doif test -f $file
then
echo $file 是檔案
fiif test -d $file
then
echo $file 是目錄
fidone
ls -l | grep "^-" | wc –l
ls -lr| grep "^-" | wc –l
ls -lr| grep "^d" | wc -l
以變數var為例var=1
var =$(($ var +1))
var =$[$ var +1]
var =`expr $ var + 1`
let var ++
let var +=1
((var ++))
line=`grep "begin certificate" -w chain.cer -n | awk -f':' ''`linearray=($line)
begin=1 #起始end=5 #結束
cmd="$begin,$p" #命令
sed -n $cmd chain.cer > tmpcert/1.txt #擷取行並重定向
tmp測試檔案中的內容如下subject=/c=cn/st=state/l=location/o=organization/ou=organizationunit/cn=commonname/emailaddress=email
把':'替換成=
sed -i "s/:/=/g" tmp
在文字中替換字元或字串(使用正規表示式)
把'subject=/' 替換成空,其中'/'需要使用轉義字元'\'來轉義表示
sed -i "s/subject=\///g" tmp
shell雜記 shell特別點
1 shell變數 變數名和等號之間不能有空格 your name runoob.com 唯讀變數定義 readonly you name,在定義後無法被修改 刪除變數 unset your name 獲取字串長度 echo 提取子字串 echo 2 shell陣列 定義陣列用空格隔開或者換行。僅支...
Debian 使用雜記(一)
前幾天又衝動的把系統換成linux了,最開始接觸linux是2010年,那時候買了個本本,預裝的是ubuntu8.10,自此知道除了windows原來還有其它作業系統。不記得什麼時候開始知道ubuntu是基於debian 的了,據稱debian 上的所有預裝的軟體都是開源的,因此用的人還是很多的,其...
Shell 學習雜記二
測試 test expression expression 方括號與表示式之間有空格 判斷if expression then command else if expression then command fifi case var in var1 command1 結束邊界 var2 comma...