linux系统 测试打印机,模拟linux开机服务检测打印效果

本文介绍了一个Linux脚本,用于模拟服务状态在终端中对齐显示的效果。脚本首先获取终端宽度,然后根据服务状态字符串长度计算并打印相应空格,确保状态显示整齐。通过success和failed函数分别展示服务成功和失败的状态,并使用颜色高亮。在另一个脚本test.sh中调用了这些函数进行测试。
摘要由CSDN通过智能技术生成

linux开机检测服务状态后显示成功或者是失败的状态。有没有发现,不管服务的名称长短,最后那一段都能对齐显示呢?

bb70b936b2817f2adf1356b20703e870.png

我们能不能写个脚本去模拟一下呢?^_^

来我们首先来分析一下:

首先,确定一下当前终端的宽度

其次,确定一下服务状态显示所占的字符数

再次,确定一下服务名称所占的字符数

剩余的就是打印空格了

826bc54f44976ab5771e973c64fee615.png

现在思路有了,咱们来写脚本吧,编辑service_status.sh

#!/bin/bash

#

#获取当前终端的宽度

COLUMNS=`resize -u | grep "COLUMNS=" | cut -d "=" -f2 | cut -d ";" -f1`

#判断当前终端宽度是否为空,为空则设置默认值为80

[ -z $COLUMNS ] && COLUMNS='80'

#当前终端宽度减去服务状态显示所在的字符数,设置服务状态显示字符数为10,[ OK ][ FAILED ]

S_COLUMNS=$[$COLUMNS-10]

#设置颜色变量

RED='\033[31m'

GREEN='\033[32m'

NORMAL='\033[0m'

##设置成功服务的显示

success(){

STRING=$1

#真实需要打印的空格数

R_COLUMNS=$[$S_COLUMNS-${#STRING}]

#显示服务名称,不换行

echo -n "$STRING"

#接着打印空格

for i in `seq 1 $R_COLUMNS`;do

echo -n " "

done

#最后打印服务成功字样

echo -e "[ ${GREEN}OK${NORMAL} ]"

}

failed(){

STRING=$1

#真实需要打印的空格数

R_COLUMNS=$[$S_COLUMNS-${#STRING}]

#显示服务名称,不换行

echo -n "$STRING"

#接着打印空格

for i in `seq 1 $R_COLUMNS`;do

echo -n " "

done

#最后打印服务成功字样

echo -e "[ ${RED}FAILED${NORMAL} ]"

}

接着来编辑另外一个文件test.sh,里面调用service_status.sh写的函数

#!/bin/bash

#

. ./service_status.sh

#测试启动成功服务的显示

success "Service start success!"

#测试启动失败服务的显示

failed "Service start failed~"

接下来给test.sh执行权限chmod u+x test.sh

开始执行#./test.sh

c4d839a988ee9c685ad5b0716d5d5877.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值