shell脚本最最最最最基础的练习,走过路过不要错过!(持续更新中..................)

Posted 码海小虾米_

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本最最最最最基础的练习,走过路过不要错过!(持续更新中..................)相关的知识,希望对你有一定的参考价值。

1.检查用户家目录中的 test.sh 文件是否存在,并且检查是否有执行权限

#!/bin/bash
# 1.检查用户家目录中的test.sh文件是否存在,并且检查是否有执行权限
# anthor:cheng
cd ~
if test -e test.sh; then
    echo 该文件存在!
    if test -x test.sh; then
        echo 该文件有执行权限!
    else
        echo 该文件没有执行权限!
    fi
else
    echo 该文件不存在!  
fi

测试结果:
在这里插入图片描述

2.用case语句解压根据输入的后缀名为 .tar.gz 或 .tar.bz2 的压缩包解压到 /opt 目录

#!/bin/bash
read -p "请输入文件名" filename
case $filename in 
*.gz)
  tar zxvf $filename -C /opt
;;
*.bz2)
  tar jxvf $filename -C /opt
;;
*)
  echo 格式错误
;;
esac

3.提示用户输入内容,使用if 语句判断输入的内容是否为整数,再判断输入的内容是奇数还是偶数。

#!/bin/bash
read -p "请输入一个数: " num

let $num+1  &> /dev/null
if [ $? -eq 0 ]
then
	  echo 你输入的是整数!
	if [ $[ $num % 2 ] -eq 0 ]
	then
	  echo 偶数
	else
	  echo 奇数
	fi
else
  echo 你输入的不是整数!
fi

在这里插入图片描述

4.用if 语句判断主机是否存活

#!/bin/bash
if ping -c 3 $1 &> /dev/null; then 
  echo 成功
else
  echo 失败
fi

在这里插入图片描述

5.用case语句在/etc/init.d/目录中写一个firewalld脚本,并加入到系统服务管理中

使能够使用 service firewalld start|stop|restart|status 来管理firewalld服务,
要求如果命令选项不对,则提示 “用法: $0 {start|stop|status|restart}”。

read -p "输入start|stop|status|restart:来管理防火墙: " server

case $server in
"start")
  systemctl start firewalld
;;
"stop")
  systemctl stop firewalld
;;
"status")
  systemctl status firewalld
;;
"reatart")
  systemctl restart firewalld
;;
*)
  echo"用法$0{start|stop|status|restart}"
;;
esac

在这里插入图片描述

6. 使用while循环用“*”号画出两个正反等腰三角形

正三角形

#外围循环
i=10
while  [ $i -gt 0 ]
do
   let i--
    
    #打印正三角形左边的空白区域
    j=0
    while  [ $j -lt $i ]
    do
         let j++
         echo -n " "            
        
    done

    #打印三角形的输出*
    k=19
    while  [ $k -gt $[$i*2] ]
    do
         let k--
         echo -n "*"
    done


    # 外围循环的,用来输出换行的
    echo ""
done

在这里插入图片描述

倒等腰三角形

#外围循环

i=10
while  [ $i -gt 0 ]
do
   let i--
    #打印三角形前面的输出空白区域
    k=10
    while  [ $k -gt $i ]
    do
         let k--
         echo -n " "
    done
    #打印正三角形左边的空白区域
    j=1
    while  [ $j -lt $[$i*2] ]
    do
         let j++
         echo -n "*"            
    done
    # 外围循环的,用来输出换行的
    echo ""
done

在这里插入图片描述
打印菱形

#外围循环
i=10
while  [ $i -gt 0 ]
do
   let i--
    #打印正三角形左边的空白区域
    j=0
    while  [ $j -lt $i ]
    do
         let j++
         echo -n " "            
    done
    #打印三角形的输出*号
    k=19
    while  [ $k -gt $[$i*2] ]
    do
         let k--
         echo -n "*"
    done
    # 外围循环的,用来输出换行的
    echo ""
done
i=10
while  [ $i -gt 0 ]
do
   let i--
    #打印三角形前面的输出空白区域
    k=10
    while  [ $k -gt $i ]
    do
         let k--
         echo -n " "
    done
    #打印正三角形左边的空白区域
    j=1
    while  [ $j -lt $[$i*2] ]
    do
         let j++
         echo -n "*"            
    done
    # 外围循环的,用来输出换行的
    echo ""
done

在这里插入图片描述

7. 根据RAMDON生成8位随机密码,包括数字和字母

以上是关于shell脚本最最最最最基础的练习,走过路过不要错过!(持续更新中..................)的主要内容,如果未能解决你的问题,请参考以下文章

Python 大量最最基础练习题

YAML最最基础语法

Java最最最最最基础的面试题之谈谈你对面向对象思想的理解(含视频讲解)-建议收藏!!!

Java最最最最最基础的面试题之谈谈你对面向对象思想的理解(含视频讲解)-建议收藏!!!

vector最最最基础用法(非原创)

小程序最最最基础编程之计时器使用