shell腳本筆記

變量說明: 
$$ 
Shell本身的PID(ProcessID) 
$! 
Shell最後運行的後臺Process的PID 
$? 
最後運行的命令的結束代碼(返回值) 
$- 
使用Set命令設定的Flag一覽 
$* 
所有參數列表。如"$*"用「"」括起來的情況、以"$1 $2 … $n"的形式輸出所有參數。 
$@ 
所有參數列表。如"$@"用「"」括起來的情況、以"$1" "$2" … "$n" 的形式輸出所有參數。 
$# 
添加到Shell的參數個數 
$0 
Shell本身的文件名 
$1~$n 
添加到Shell的各參數值。$1是第1參數、$2是第2參數…。


整數運算
i=`expr $i + 1`
i=$(expr $i + 1)
let i+=1
let i++
((i++))
i=$[$i+1]
i=$(( $i + 1 ))

浮點運算
echo "4 * 0.56" | bc
echo "11 * 1.5" | bc
echo "scale=2; 3/8" | bc  #小數點後保留兩位
echo "obase=2;$A" |bc    #將數字$A 轉化成2進制輸出
echo "obase =10;ibase=2;$A" | bc    #將$A先轉化成二進制,然後轉化成10進制輸出
echo "sqrt(100)"| bc   #100平方根
echo "100^2" | bc   #100的平方


逐行讀取文件
1、
while read LINE
do
    echo $LINE
done  < $FILENAME


2、
cat $FILENAME | while read LINE
do
    echo $LINE
done


數組(array)

array=(aa bb cc dd) #賦值
array=( [1]=aa [2]=bb [3]=cc [4]=dd )
unset array[1]    #刪除數組中第一個元素
unset array    #刪除整個數組
num=${#array[@]}    #獲取數組元素的個數
length=${#array[i]}    #獲取數組某一個單元的長度
${array[*]}    #獲取數組的所有元素
${array[@]:1}    #bb cc dd,除掉第一個元素後所有元素,那麼${array[@]:0}表示所有元素
${array[@]:0:2}    #aa bb
${array[@]:1:2}    #bb cc  


#遍歷數組
#1
for ((i=0;i<num;i++))
{
    echo   $array[i]
}

#2
for var in  ${array[*]}
do
    echo $var;
done

// ${#var}       獲取數組某一個單元的長度

len=${#str}  #字符長度


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章