MAC自带终端辅助脚本(terminal shell)

  • Post author:
  • Post category:其他




参考链接

好多帖子都有这个,哪个是原创无法得知

https://blog.csdn.net/qq_41228463/article/details/80720772



需求说明

程序员用的操作系统可能不同,喜爱的shell工具也各有不同,萝卜青菜,不好判断哪个好或者不好,我用的mac OS,好用的免费的shell工具前前后后没找到一个中意的,要么丑,要么收费,要么迁移费劲,要么性能损耗大,唯独钟爱mac自带的终端工具。但是原生的也好多不爽的地方,无法保存登录连接,无法快速备份迁移连接等等。

如果只有几个常用服务器环境,上面说的这些都特么不重要,问题是随着需要操作的环境数量激增而来的。几十个环境,我本是将其记录到语雀上的,每次ssh之前先要浏览器打开语雀,找到对应的记录,然后登陆。有的小伙伴说用某某shell工具就好了啊,本来是这样的,前段时间换电脑,从老的MBP上换到新搞的黑果上,用的免费版的termius,同步配置没把我恶心死,为了避免再恶心一次,一直想着找个好的替代品。

在这里插入图片描述

反正我就是要搞,对也罢不对也罢,哈哈哈



使用说明



兼容问题修改

参考的链接是针对于centos下搞得脚本,在mac下执行会有些不兼容,如下图,针对mac做了调整,调整完在centos上执行也是一样的效果,如有问题的,可以自己尝试修改下。

另外原脚本对参数中的空格无法甄别,也做了修改

在这里插入图片描述



修改后的执行效果如下图

在这里插入图片描述



针对mac下的终端进行自动执行配置

这一步操作做不做都ok,只是方便高频使用这个脚本的用户,配置之后我新打卡一个终端窗口的话就会自动执行这个脚本

在这里插入图片描述



脚本

#!/bin/bash
table=""
#设置行,可以是表头,也可以是表格内容。
#如果是表格内容,“—”表示空值
function setRow(){
    count=1
    value=""
    for i in "$@"
    do
        # echo $count: "$i"
        count=$[ $count + 1 ]
        value=${value}"$i""#|"
    done
    table=${table}"|"${value}"\n"
}

#行分隔线
#入参:表格的列数。如表格有5列,则入参为5
function splitLine(){
    local num=`expr $1 + 1`
    split=`seq -s '+#' $num | sed 's/[0-9]//g'`    # 生成连续个的+#
    table=${table}"${split}\n"
}

#绘制表格
#入参:table
function setTable(){
    echo -e $1|column -s "#" -t|awk '{if($0 ~ /^\+/){gsub(" ","-",$0);print $0}else{print $0}}'
}
if [ "$SHLVL" -eq "2" ]
then
   table=""
   columnCount=5
    splitLine ${columnCount}
    setRow "GROUP" "NAME" "SCRIPT" "PASSWORD" "DESC"
    splitLine ${columnCount}
    setRow "aaa" "跳板机"       "ssh -i ~/.ssh/11b.pem jia@47.xx.xx.60 -p 22"                          "RIxVm8Wi" "234 A3测试环境"
    setRow "aaa" "85-测试环境"       "ssh -i ~/.ssh/id_rsa root@121.xx.x9.85 -p 22"     "-"                "-"
    splitLine ${columnCount}
    setRow "cc" "开发环境"       "ssh root@106.52.3.150 -p 22"                                               "pd" "-"
    splitLine ${columnCount}
    setRow "11叔" "11-应用服务器"   "ssh -i ~/.ssh/tencent_prd_pem root@49.xx.xx.69 -p 22"      "-"                "-" 
    setRow "11叔" "11-docker打包"  "ssh -i ~/.ssh/tencent_prd_pem root@172.xx.xx.137 -p 22"     "-"                  "-"
    setRow "11叔" "11-k8s"         "ssh -i ~/.ssh/tencent_prd_pem root@49.xx.xx.150 -p 22"  "-"                "-"
    splitLine ${columnCount}
    setTable "${table}"
fi



版权声明:本文为keylkeaf原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。