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脚本最最最最最基础的练习,走过路过不要错过!(持续更新中..................)的主要内容,如果未能解决你的问题,请参考以下文章
Java最最最最最基础的面试题之谈谈你对面向对象思想的理解(含视频讲解)-建议收藏!!!