shell脚本实战-1

Posted 喝茶等下班

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell脚本实战-1相关的知识,希望对你有一定的参考价值。

有两个命令能帮助我调试脚本:set -e 遇到执行非 0 时退出脚本,set -x 打印执行过程。

1.

获取8位随机字符串或数字:

获取8位字符串,三种方法

[root@study ~]# echo $RANDOM |md5sum|cut -c 1-8
679359fe
[root@study ~]# openssl rand -base64 4
ertU+Q==
[root@study ~]# cat /proc/sys/kernel/random/uuid |cut -c 1-8
749ffce5

获取8位数字,三种方法

[root@study ~]# echo $RANDOM |cksum |cut -c 1-8
14713720
[root@study ~]# openssl rand -base64 4|cksum|cut -c 1-8
35648508
[root@study ~]# date +%N|cut -c 1-8
30114052

cksum:打印CRC效验和统计字节

#这样就是秒+纳秒的输出
date +%s%N

2.

定义一个颜色输出字符串函数

[root@study ~]# ./echo_color.sh red "abc"
abc
[root@study ~]# ./echo_color.sh green "abc"
abc
[root@study ~]# vim echo_color.sh

#!/bin/bash
function echo_color
case $1 in
green)
echo -e "\\033[32;40m$2\\033[0m"
;;
red)
echo -e "\\033[31;40m$2\\033[0m"
;;
*)
echo "Example: echo_color red string"
esac

echo_color $*

3.

检查主机存活状态

方法3:利用for循环将ping通就跳出循环继续,如果不跳出就会走到打印ping失败

#!/bin/bash
ping_success_status()
if ping -c 1 $IP > /dev/null; then
echo "$IP Ping is successful."
continue
fi


IP_LIST="192.168.31.1 192.168.31.88 192.168.31.3"
for IP in $IP_LIST; do
ping_success_status
ping_success_status
ping_success_status
echo "$IP Ping is failure!"
done

要注意即便把continue写到函数里,也可以继续函数外的下一次循环的用法。这个for循环里的调用函数用的很巧妙,函数调用三次,ping成功不会执行三次,执行失败才会执行三次。

以上是关于shell脚本实战-1的主要内容,如果未能解决你的问题,请参考以下文章

linux shell 脚本 入门到实战详解[⭐建议收藏!!⭐]

Shell脚本从入门到实战

Shell脚本从入门到实战

Shell脚本编程实战

Linux系统shell脚本之用户管理脚本实战

shell脚本实战