for ((i=1;i<5;i++))两个括号 ;do echo $i ;done  分号分行
for i in 1 2 3 4 5 6 ;do echo $i; done. 直接写遍历,或者 seq 5
echo "args $1"  $1 表示第一个输入
for IP in `cat ip`  执行结果就是输入
do
  ping -c 1 -i 0.2 -w 1 $IP &>/dev/null   &>全部 c个数 i间隔 w超时
  if [ $? -eq 0 ];then   英文eq,不是等号,两头空格。
    echo "IP $IP is ok:$?"   上个结果 
    if [ $1 = "scp" ] ;then   字符串可以用等于
       echo "scp ./hs_aoa $IP" 双引号里面 $变量有效
    fi
  else  echo "IP $IP is down:$?"
  fi
  echo "$IP $?"
done
echo "the home is ${HOME2:-/default/home}"  变量默认值 :-
-eq >
-ge >=
-le <=
-ne !=
-x -r -w有权限
-e 存在
-f -d 文件或目录
string="abcdefg"
echo "clip: ${string:2:5}" 两冒号起始+长度
echo "replaced: ${string/foo/bar}" 两个/替换
${#string}   #长度
${#array[@]} 数组长度
${#array[8]} 数组元素
--
FROM 103.90.190.*