变量说明:
$$ 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+=1let i++((i++))i=$[$i+1]i=$(( $i + 1 ))浮点运算echo "4 * 0.56" | bcecho "11 * 1.5" | bcecho "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 LINEdo echo $LINEdone < $FILENAME2、
cat $FILENAME | while read LINEdo echo $LINEdone数组(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#遍历数组
#1for ((i=0;i<num;i++)){ echo $array[i]}#2for var in ${array[*]}do echo $var;done// ${#var} 获取数组某一个单元的长度len=${#str} #字符长度