shell笔记

47 阅读1分钟

 1. 变量

$0 表示shell 文件的名称

$1 表示shell 脚本的第一个名字

$@ 所有参数,是一个字符

$# 参数的个数

$* 表示所有参数,是一个字符串

定义一个变量 a=1;

1.1.shell 字符串操作

${str:1:4}

${#str} 获取一个字符串的长度

{#str[0]} = {#str} 获取一个字符串的长度

expr index "$str" aa 查找字符串

1.2.数组定义

arr = Array(1 2 3)

${arr[0]} 获取数组元素

${#arr[0]} 获取 第0 个元素的长度

(#arr[*]) = {arr[@]} 数组元素的个数

2. 循环结构

2.1.for 循环

sum=0;
for((i=0; i<=100; i++))
do
  sum=$[$sum+$i]
done
echo $sum


for (( i=1; i< 10; i++ ))
do
  printf  "%d\n"  $i
done

2.2.while 循环

i=1
sum=0
while [ $i -le 100 ]
do
  sum=$[ $sum + $i]
  i=$[ $i + 1 ]
done
echo $sum

2.3.until 循环

a=1
until [ $a -ge 10 ]
do
 echo $a
 a=`expr $a + 1`
done

2.4.shell if 条件

if [ $1 -eq 1 ]
then
  echo "等于1"
elif [ $1 -eq 2 ]
then
  echo "等于2"
else
  echo "不等于2 和其他"
fi

2.5.case  语句

case $1 in
 1)
   echo "1"
 ;;

 2)
  echo "2"
 ;;

 3)
  echo "3"
 ;;
esac

3.shell 函数

function add(){
  sum=0
  sum=$[$1+$2]
  echo $sum
}

read -t 7 -p "input params1:" p1
read -t 7 -p "input params2:" p2
add $p1 $p2

4.  cut , awk, sed

\