shell脚本编程基础之自定义函数库

脚本编程知识点

${#VAR_NAME}:引用变量中字符的长度

A="25 90 100 120";
echo ${A#* }:针对A变量,#表示从左往右,*空格表示以空格为分隔符;A变量从左往右去掉第一个空格之前的内容;
echo ${A##* }:A变量从左往右,去掉最后一个空格之前的内容;
echo ${A% *}:%表示从右往左;从右往左去掉第一个空格之前的内容;
echo ${A%% *}:从右往左去掉最后一个空格之前的内容;

自定义函数库

[root@centos6 ~]# vim functions
SCREEN=`stty -F /dev/console size 2>/dev/null`     #使用console终端代替当前终端,显示终端的行数和列数
COLUMN=${SCREEN#* }
[ -z $COLUMN ] && COLUMN=80
SPACE=$[$COLUMN-12]
RED='\033[1;31m'
GREEN='\033[1;32m'
REDUCTION='\033[0m'

function success {
       string=$1
       REAL_SPACE=$[$SPACE-${#string}]
       echo -n "$string"
       for i in `seq 1 $REAL_SPACE`;do
               echo -n " "
       done
       echo -e "[  ${GREEN}OK${REDUCTION}  ]"
}

function failed {
       string=$1
       REAL_SPACE=$[$SPACE-${#string}]
       echo -n "$string"
       for i in `seq $REAL_SPACE`;do
               echo -n " "
       done
       echo -e "[${RED}FAILED${REDUCTION}]"
实现centos6启动服务成功或者失败的显示;成功打印OK,失败打印FAILED

[root@centos6 ~]# vim test.sh      #创建个测试脚本
#!/bin/bash
. /root/functions     #导入自定义函数库

success "start service"
failed "stop service"

[root@centos6 ~]# bash test.sh
start service                                                                           [  OK  ]
stop service                                                                            [FAILED]
posted on 2019-12-11 16:44  An.amazing.rookie  阅读(274)  评论(0编辑  收藏  举报