您的位置:首页 > 运维架构 > Shell

Shell应用 之 场景主控脚本实现

2017-02-12 23:07 447 查看
1. 场景脚本

  


2. 课程

  2.1 Shell 典型应用 之 主控脚本实现

  2.2 Shell 典型应用 之 系统信息 及 系统状态分析

  2.3 Shell 典型应用 之 nginx 和 mysql应用状态分析

  2.4 Shell 典型用用 之 应用日志分析

3. VIM 编辑器设置(未完成)

  3.1 高亮设置:  

    临时设置:用vim进入文件后 :syntax off 即关闭高亮,:syntax on 即打开高亮

    永久设置:修改 /etc /vimrc 中的 syntax 为on即高亮,为off即关闭高亮

    按用户更改:进入用户家目录,新建 .vimrc 文件,并添加 syntax on

  3.2 显示行号 :set number

  3.3 自动缩进

  3.4 自动加入文件头

4. 场景脚本结构

  


5. Shell 脚本 之 echo 高亮显示

  echo -e 终端颜色 + 显示内容 + 结束后的颜色

[root@localhost ~]# echo -e "\e[1;32m Wayne say Hi~ \e[1;0m"
Wayne say Hi~
[root@localhost ~]# echo -e "\e[1;31m"" Wayne say Hi~"$(tput sgr0)
Wayne say Hi~


6. Shell 中的关联数组

  普通数组:只能使用整数作为数组索引

  关联数组:可以使用字符串作为数组索引

  申明关联数组变量:# declare -A ass_array1

  数组名[索引] = 变量值:# ass_array1[index1]=pear

7. 场景主控脚本实现

#!/bin/bash

resettem=$(tput sgr0)
declare -A ssharray
i=1
numbers=""

for script_file in `ls -I "monitor_man.sh" ./`
do
echo -e '\e[1;34m' "The script:" ${i} '==>' ${resettem} ${script_file}
ssharray[$i]=${script_file}
# echo ${ssharray[$i]}
numbers="${numbers}${i}, "
i=$((i+1))
done

a=$((i-1))
#echo $a

while true
do
read -p "input a number [${numbers}]:" execshell
if [[ ! ${execshell} =~ ^[1-$a]+ ]];then
echo "invalid input"
else
/bin/sh ./${ssharray[$execshell]}
#echo ${execshell}
fi
done

~
~
~
"monitor_man.sh" 30L, 515C


效果图:



  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: