Shell脚本练习

1、求1到10的和
第一种:

  1 #!/bin/bash
  2 s=0
  3 for((i=1;i<=10;i=i+1))
  4 do
  5 s=$(($s+$i))
  6 done
  7 echo "the sum is $s"

第二种:

  1 #!/bin/bash
  2 s=0
  3 for((i=1;i<=10;i=i+1))
  4 do
  5 s=$(($s+$i))
  6 done
  7 echo "the sum is $s"

2、做一个简单的计算器


  1 #!/bin/bash
  2 read -p "请输入一个数字:" number1
  3 read -p "请输入一个运算符:" n
  4 read -p "请输入第二个数字:" number2
  5 s=$(($number1 $n $number2))
  6 echo $s
~                

3、批量创建文件100个以数字开头的文件,并每隔一秒钟输出到终端

  1 #!/bin/bash
  2 for i in {1..100};do
  3         touch $i
  4         echo $i
  5         sleep 1
  6 done

4、动态持续检测本机linux系统内存剩余量(仅显示数值)


  1 #!/bin/bash
  2 while true;do
  3         free -h | grep Mem | cut -d "M" -f4 | tr -d " "
  4         echo $free
  5         sleep 1
  6 done

5、编写99乘法表
第一种


  1 #!/bin/bash
  2 for i in $(seq 9); do
  3         for j in $(seq $i); do
  4                  echo -n  "$i*$j=$(($i*$j))  "; #echo -n 是取消输出换行
  5          done;
  6         echo "";
  7  done
~                                                                                                           
~             

第二种:

#!/bin/bash
for i in `seq 9`
do
        for a in `seq 9`
        do
                if [ $a -le $i ];then
                        echo -n "$a*$i=$(($i*$a)) "
                fi
        done
        echo ""
done

6、编写脚本,计算/etc/passwd文件中的第5个用户和第10用户的ID之和

id1=$(cat /etc/passwd |cut -d: -f3 |head -$1 | tail -1)    #$1代表查找第几个用户
id2=$(cat /etc/passwd |cut -d: -f3 |head -$2 | tail -1)    #$2同理
echo "$[$id1+$id2]"

7、批量检测ip是否在线

  1 #!/bin/bash
  2 . /etc/init.d/functions
  3 ip=192.168.7.
  4 for i  in {0..255};do
  5         if ping -c 1 -w 2 $ip$i &> /dev/null;then
  6         echo "$ip$i在线"
  7         success
  8         echo " "
  9         else
 10         echo "$ip$i不在线"
 11         failure
 12         echo " "
 13         fi
 14 
 15 done

8、检测主机是否在线

  1 #!/bin/bash
  2 . /etc/init.d/functions
  3 while true;do
  4         if ping -c 1 -w 1 192.168.7.1 > /etc/null;then
  5         echo "主机ip在线"
  6                 success
  7         else
  8         echo "ip不在线"
  9                 failure
 10         fi
 11 done         

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...